[package]
name = "analyzed-ra-ide-db"
version.workspace = true
edition = "2024"
rust-version = "1.95"
license = "MIT OR Apache-2.0"
repository.workspace = true
description = "Patched ra_ap_ide_db bridge crate for analyzed"
build = "build.rs"

[lib]
name = "ra_ap_ide_db"
path = "src/lib.rs"
doctest = false
test = false

[features]
default = []
in-rust-tree = []

[build-dependencies]
analyzed-bridge = { path = "../analyzed-bridge", version = "=0.4.1" }

[dependencies]
arrayvec = { version = "0.7.6" }
base-db = { version = "=0.0.340", package = "ra_ap_base_db" }
bitflags = { version = "2.9.1" }
cov-mark = { version = "2.0.0" }
crossbeam-channel = { version = "0.5.15" }
either = { version = "1.15.0" }
fst = { version = "0.4.7", default-features = false }
hir = { version = "=0.0.340", package = "ra_ap_hir" }
itertools = { version = "0.14.0" }
line-index = { version = "0.1.2" }
macros = { version = "=0.0.340", package = "ra_ap_macros" }
memchr = { version = "2.7.5" }
nohash-hasher = { version = "0.2.0" }
parser = { version = "=0.0.340", package = "ra_ap_parser" }
profile = { version = "=0.0.340", package = "ra_ap_profile" }
rayon = { version = "1.10.0" }
rustc-hash = { version = "2.1.1" }
salsa = { version = "0.27.0", features = ["rayon", "salsa_unstable", "macros", "inventory"], default-features = false }
salsa-macros = { version = "0.27.0" }
smallvec = { version = "1.15.1", features = ["const_new", "union", "const_generics"] }
span = { version = "=0.0.340", package = "ra_ap_span" }
stdx = { version = "=0.0.340", package = "ra_ap_stdx" }
syntax = { version = "=0.0.340", package = "ra_ap_syntax" }
test-fixture = { version = "=0.0.340", package = "ra_ap_test_fixture" }
test-utils = { version = "=0.0.340", package = "ra_ap_test_utils" }
tracing = { version = "0.1.41", features = ["std", "attributes"], default-features = false }
triomphe = { version = "0.1.14", features = ["std"], default-features = false }
vfs = { version = "=0.0.340", package = "ra_ap_vfs" }

[dev-dependencies]
expect-test = "1.5.1"

[target.'cfg(any())'.dependencies]
ra_ap_ide_db = "=0.0.340"

[lints.clippy]
assigning_clones = "allow"
complexity = { level = "warn", priority = -1 }
correctness = { level = "deny", priority = -1 }
dbg_macro = "warn"
enum_variant_names = "allow"
len_without_is_empty = "allow"
literal_string_with_formatting_args = "allow"
new_ret_no_self = "allow"
perf = { level = "deny", priority = -1 }
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
restriction = { level = "allow", priority = -1 }
result_unit_err = "allow"
single_match = "allow"
str_to_string = "warn"
style = { level = "warn", priority = -1 }
suspicious = { level = "warn", priority = -1 }
todo = "warn"
too_long_first_doc_paragraph = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
unnecessary_map_or = "allow"
useless_asref = "allow"
vec_init_then_push = "allow"
wrong_self_convention = "allow"

[lints.rust]
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
unexpected_cfgs = { level = "warn", priority = 0, check-cfg = ["cfg(bootstrap)", "cfg(no_salsa_async_drops)"] }
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_extern_crates = "warn"
unused_lifetimes = "warn"
