Remove the optional salsa dependency from the AST crate (#14363)

This commit is contained in:
Micha Reiser 2024-11-15 17:46:04 +01:00 committed by GitHub
parent 9f3235a37f
commit 2b58705cc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 3 additions and 21 deletions

1
Cargo.lock generated
View file

@ -2778,7 +2778,6 @@ dependencies = [
"ruff_source_file", "ruff_source_file",
"ruff_text_size", "ruff_text_size",
"rustc-hash 2.0.0", "rustc-hash 2.0.0",
"salsa",
"schemars", "schemars",
"serde", "serde",
] ]

View file

@ -13,7 +13,7 @@ license = { workspace = true }
[dependencies] [dependencies]
ruff_db = { workspace = true } ruff_db = { workspace = true }
ruff_index = { workspace = true } ruff_index = { workspace = true }
ruff_python_ast = { workspace = true, features = ["salsa"] } ruff_python_ast = { workspace = true }
ruff_python_parser = { workspace = true } ruff_python_parser = { workspace = true }
ruff_python_stdlib = { workspace = true } ruff_python_stdlib = { workspace = true }
ruff_source_file = { workspace = true } ruff_source_file = { workspace = true }

View file

@ -954,7 +954,7 @@ impl<'db> TypeInferenceBuilder<'db> {
let function_ty = Type::FunctionLiteral(FunctionType::new( let function_ty = Type::FunctionLiteral(FunctionType::new(
self.db, self.db,
&*name.id, &name.id,
function_kind, function_kind,
body_scope, body_scope,
decorator_tys, decorator_tys,
@ -1069,7 +1069,7 @@ impl<'db> TypeInferenceBuilder<'db> {
let maybe_known_class = KnownClass::try_from_file(self.db, self.file, name); let maybe_known_class = KnownClass::try_from_file(self.db, self.file, name);
let class = Class::new(self.db, &*name.id, body_scope, maybe_known_class); let class = Class::new(self.db, &name.id, body_scope, maybe_known_class);
let class_ty = Type::class_literal(class); let class_ty = Type::class_literal(class);
self.add_declaration_with_binding(class_node.into(), definition, class_ty, class_ty); self.add_declaration_with_binding(class_node.into(), definition, class_ty, class_ty);

View file

@ -26,7 +26,6 @@ is-macro = { workspace = true }
itertools = { workspace = true } itertools = { workspace = true }
memchr = { workspace = true } memchr = { workspace = true }
rustc-hash = { workspace = true } rustc-hash = { workspace = true }
salsa = { workspace = true, optional = true }
schemars = { workspace = true, optional = true } schemars = { workspace = true, optional = true }
serde = { workspace = true, optional = true } serde = { workspace = true, optional = true }
@ -39,7 +38,6 @@ serde = [
"dep:ruff_cache", "dep:ruff_cache",
"compact_str/serde", "compact_str/serde",
] ]
salsa = ["dep:salsa"]
[lints] [lints]
workspace = true workspace = true

View file

@ -205,21 +205,6 @@ impl schemars::JsonSchema for Name {
} }
} }
#[cfg(feature = "salsa")]
impl salsa::plumbing::interned::Lookup<Name> for &str {
fn hash<H: Hasher>(&self, h: &mut H) {
std::hash::Hash::hash(self, h);
}
fn eq(&self, data: &Name) -> bool {
self == data
}
fn into_owned(self) -> Name {
Name::new(self)
}
}
/// A representation of a qualified name, like `typing.List`. /// A representation of a qualified name, like `typing.List`.
#[derive(Debug, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct QualifiedName<'a>(SegmentsVec<'a>); pub struct QualifiedName<'a>(SegmentsVec<'a>);