## Summary Transition to using coarse-grained tracked structs (depends on https://github.com/salsa-rs/salsa/pull/657). For now, this PR doesn't add any `#[tracked]` fields, meaning that any changes cause the entire struct to be invalidated. It also changes `AstNodeRef` to be compared/hashed by pointer address, instead of performing a deep AST comparison. ## Test Plan This yields a 10-15% improvement on my machine (though weirdly some runs were 5-10% without being flagged as inconsistent by criterion, is there some non-determinism involved?). It's possible that some of this is unrelated, I'll try applying the patch to the current salsa version to make sure. --------- Co-authored-by: Micha Reiser <micha@reiser.io>
64 lines
1.9 KiB
TOML
64 lines
1.9 KiB
TOML
[package]
|
|
name = "red_knot_python_semantic"
|
|
version = "0.0.0"
|
|
publish = false
|
|
authors = { workspace = true }
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[dependencies]
|
|
ruff_db = { workspace = true }
|
|
ruff_index = { workspace = true, features = ["salsa"] }
|
|
ruff_macros = { workspace = true }
|
|
ruff_python_ast = { workspace = true, features = ["salsa"] }
|
|
ruff_python_parser = { workspace = true }
|
|
ruff_python_stdlib = { workspace = true }
|
|
ruff_source_file = { workspace = true }
|
|
ruff_text_size = { workspace = true }
|
|
ruff_python_literal = { workspace = true }
|
|
ruff_python_trivia = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
bitflags = { workspace = true }
|
|
camino = { workspace = true }
|
|
compact_str = { workspace = true }
|
|
countme = { workspace = true }
|
|
drop_bomb = { workspace = true }
|
|
indexmap = { workspace = true }
|
|
itertools = { workspace = true }
|
|
ordermap = { workspace = true }
|
|
salsa = { workspace = true, features = ["compact_str"] }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
hashbrown = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true, optional = true }
|
|
smallvec = { workspace = true }
|
|
static_assertions = { workspace = true }
|
|
test-case = { workspace = true }
|
|
memchr = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
ruff_db = { workspace = true, features = ["testing", "os"] }
|
|
ruff_python_parser = { workspace = true }
|
|
red_knot_test = { workspace = true }
|
|
red_knot_vendored = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
dir-test = { workspace = true }
|
|
insta = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
quickcheck = { version = "1.0.3", default-features = false }
|
|
quickcheck_macros = { version = "1.0.0" }
|
|
|
|
[features]
|
|
serde = ["ruff_db/serde", "dep:serde"]
|
|
|
|
[lints]
|
|
workspace = true
|