[package]
edition = "2024"
rust-version = "1.91"
name = "ra_ap_rust-analyzer"
version = "0.0.331"
authors = ["rust-analyzer team"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A language server for the Rust programming language"
homepage = "https://rust-analyzer.github.io/"
documentation = "https://rust-analyzer.github.io/book/"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/rust-analyzer"
resolver = "2"
[features]
dhat = ["dep:dhat"]
force-always-assert = ["stdx/force-always-assert"]
in-rust-tree = [
"cfg/in-rust-tree",
"hir-def/in-rust-tree",
"hir-ty/in-rust-tree",
"hir/in-rust-tree",
"ide-ssr/in-rust-tree",
"ide/in-rust-tree",
"load-cargo/in-rust-tree",
"parser/in-rust-tree",
"proc-macro-api/in-rust-tree",
"syntax/in-rust-tree",
]
jemalloc = [
"jemallocator",
"profile/jemalloc",
]
[lib]
name = "ra_ap_rust_analyzer"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "rust-analyzer"
path = "src/bin/main.rs"
[[test]]
name = "slow-tests"
path = "tests/slow-tests/main.rs"
[dependencies.anyhow]
version = "1.0.98"
[dependencies.base64]
version = "0.22"
[dependencies.cargo_metadata]
version = "0.23.0"
[dependencies.cfg]
version = "=0.0.331"
features = [
"tt",
"syntax",
]
package = "ra_ap_cfg"
[dependencies.crossbeam-channel]
version = "0.5.15"
[dependencies.dhat]
version = "0.3.3"
optional = true
[dependencies.dirs]
version = "6.0.0"
[dependencies.dissimilar]
version = "1.0.10"
[dependencies.hir]
version = "=0.0.331"
package = "ra_ap_hir"
[dependencies.hir-def]
version = "=0.0.331"
package = "ra_ap_hir_def"
[dependencies.hir-ty]
version = "=0.0.331"
package = "ra_ap_hir_ty"
[dependencies.ide]
version = "=0.0.331"
package = "ra_ap_ide"
[dependencies.ide-completion]
version = "=0.0.331"
package = "ra_ap_ide_completion"
[dependencies.ide-db]
version = "=0.0.331"
package = "ra_ap_ide_db"
[dependencies.ide-ssr]
version = "=0.0.331"
package = "ra_ap_ide_ssr"
[dependencies.indexmap]
version = "2.9.0"
features = ["serde"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.load-cargo]
version = "=0.0.331"
package = "ra_ap_load-cargo"
[dependencies.lsp-server]
version = "0.7.9"
[dependencies.lsp-types]
version = "=0.95.0"
features = ["proposed"]
[dependencies.memchr]
version = "2.7.5"
[dependencies.mimalloc]
version = "0.1.46"
optional = true
default-features = false
[dependencies.num_cpus]
version = "1.17.0"
[dependencies.oorandom]
version = "11.1.5"
[dependencies.parking_lot]
version = "0.12.4"
[dependencies.parser]
version = "=0.0.331"
package = "ra_ap_parser"
[dependencies.paths]
version = "=0.0.331"
package = "ra_ap_paths"
[dependencies.proc-macro-api]
version = "=0.0.331"
package = "ra_ap_proc_macro_api"
[dependencies.process-wrap]
version = "8.2.1"
features = ["std"]
[dependencies.profile]
version = "=0.0.331"
package = "ra_ap_profile"
[dependencies.project-model]
version = "=0.0.331"
package = "ra_ap_project_model"
[dependencies.ra-ap-rustc_type_ir]
version = "0.160"
default-features = false
[dependencies.rayon]
version = "1.10.0"
[dependencies.rustc-hash]
version = "2.1.1"
[dependencies.scip]
version = "0.7.1"
[dependencies.semver]
version = "1.0.26"
[dependencies.serde]
version = "1.0.219"
[dependencies.serde_derive]
version = "1.0.219"
[dependencies.serde_json]
version = "1.0.140"
features = ["preserve_order"]
[dependencies.smallvec]
version = "1.15.1"
features = [
"const_new",
"union",
"const_generics",
]
[dependencies.stdx]
version = "=0.0.331"
package = "ra_ap_stdx"
[dependencies.syntax]
version = "=0.0.331"
package = "ra_ap_syntax"
[dependencies.tenthash]
version = "1.1.0"
[dependencies.toml]
version = "0.9.8"
[dependencies.toolchain]
version = "=0.0.331"
package = "ra_ap_toolchain"
[dependencies.tracing]
version = "0.1.41"
features = ["std"]
default-features = false
[dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"registry",
"fmt",
"local-time",
"std",
"time",
"tracing-log",
]
default-features = false
[dependencies.tracing-tree]
version = "0.4.0"
[dependencies.triomphe]
version = "0.1.14"
features = ["std"]
default-features = false
[dependencies.vfs]
version = "=0.0.331"
package = "ra_ap_vfs"
[dependencies.vfs-notify]
version = "=0.0.331"
package = "ra_ap_vfs-notify"
[dependencies.walkdir]
version = "2.5.0"
[dependencies.xflags]
version = "0.3.2"
[target.'cfg(not(target_env = "msvc"))'.dependencies.jemallocator]
version = "0.5.4"
optional = true
package = "tikv-jemallocator"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Win32_System_Diagnostics_Debug",
"Win32_System_Threading",
]
[lints.clippy]
assigning_clones = "allow"
dbg_macro = "warn"
enum_variant_names = "allow"
len_without_is_empty = "allow"
literal_string_with_formatting_args = "allow"
new_ret_no_self = "allow"
print_stderr = "warn"
print_stdout = "warn"
rc_buffer = "warn"
result_unit_err = "allow"
single_match = "allow"
str_to_string = "warn"
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.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.perf]
level = "deny"
priority = -1
[lints.clippy.restriction]
level = "allow"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.rust]
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_extern_crates = "warn"
unused_lifetimes = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(bootstrap)",
"cfg(no_salsa_async_drops)",
]