mirror of
https://github.com/astral-sh/ruff.git
synced 2025-11-18 19:41:34 +00:00
[ty] follow the breaking API changes made in salsa-rs/salsa#1015 (#21117)
This commit is contained in:
parent
8b22fd1a5f
commit
83a00c0ac8
16 changed files with 80 additions and 15 deletions
6
Cargo.lock
generated
6
Cargo.lock
generated
|
|
@ -3563,7 +3563,7 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
|||
[[package]]
|
||||
name = "salsa"
|
||||
version = "0.24.0"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=25b3ef146cfa2615f4ec82760bd0c22b454d0a12#25b3ef146cfa2615f4ec82760bd0c22b454d0a12"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=cdd0b85516a52c18b8a6d17a2279a96ed6c3e198#cdd0b85516a52c18b8a6d17a2279a96ed6c3e198"
|
||||
dependencies = [
|
||||
"boxcar",
|
||||
"compact_str",
|
||||
|
|
@ -3587,12 +3587,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "salsa-macro-rules"
|
||||
version = "0.24.0"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=25b3ef146cfa2615f4ec82760bd0c22b454d0a12#25b3ef146cfa2615f4ec82760bd0c22b454d0a12"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=cdd0b85516a52c18b8a6d17a2279a96ed6c3e198#cdd0b85516a52c18b8a6d17a2279a96ed6c3e198"
|
||||
|
||||
[[package]]
|
||||
name = "salsa-macros"
|
||||
version = "0.24.0"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=25b3ef146cfa2615f4ec82760bd0c22b454d0a12#25b3ef146cfa2615f4ec82760bd0c22b454d0a12"
|
||||
source = "git+https://github.com/salsa-rs/salsa.git?rev=cdd0b85516a52c18b8a6d17a2279a96ed6c3e198#cdd0b85516a52c18b8a6d17a2279a96ed6c3e198"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ regex-automata = { version = "0.4.9" }
|
|||
rustc-hash = { version = "2.0.0" }
|
||||
rustc-stable-hash = { version = "0.1.2" }
|
||||
# When updating salsa, make sure to also update the revision in `fuzz/Cargo.toml`
|
||||
salsa = { git = "https://github.com/salsa-rs/salsa.git", rev = "25b3ef146cfa2615f4ec82760bd0c22b454d0a12", default-features = false, features = [
|
||||
salsa = { git = "https://github.com/salsa-rs/salsa.git", rev = "cdd0b85516a52c18b8a6d17a2279a96ed6c3e198", default-features = false, features = [
|
||||
"compact_str",
|
||||
"macros",
|
||||
"salsa_unstable",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,11 @@ use crate::semantic_index::{SemanticIndex, semantic_index};
|
|||
use crate::types::{Truthiness, Type, TypeContext, infer_expression_types};
|
||||
use crate::{Db, ModuleName, resolve_module};
|
||||
|
||||
fn dunder_all_names_cycle_initial(_db: &dyn Db, _file: File) -> Option<FxHashSet<Name>> {
|
||||
fn dunder_all_names_cycle_initial(
|
||||
_db: &dyn Db,
|
||||
_id: salsa::Id,
|
||||
_file: File,
|
||||
) -> Option<FxHashSet<Name>> {
|
||||
None
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -697,6 +697,7 @@ impl<'db> From<Place<'db>> for PlaceAndQualifiers<'db> {
|
|||
|
||||
fn place_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_scope: ScopeId<'db>,
|
||||
_place_id: ScopedPlaceId,
|
||||
_requires_explicit_reexport: RequiresExplicitReExport,
|
||||
|
|
@ -1528,7 +1529,10 @@ mod implicit_globals {
|
|||
.collect()
|
||||
}
|
||||
|
||||
fn module_type_symbols_initial(_db: &dyn Db) -> smallvec::SmallVec<[ast::name::Name; 8]> {
|
||||
fn module_type_symbols_initial(
|
||||
_db: &dyn Db,
|
||||
_id: salsa::Id,
|
||||
) -> smallvec::SmallVec<[ast::name::Name; 8]> {
|
||||
smallvec::SmallVec::default()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ use rustc_hash::FxHashMap;
|
|||
|
||||
use crate::{Db, module_name::ModuleName, resolve_module};
|
||||
|
||||
fn exports_cycle_initial(_db: &dyn Db, _file: File) -> Box<[Name]> {
|
||||
fn exports_cycle_initial(_db: &dyn Db, _id: salsa::Id, _file: File) -> Box<[Name]> {
|
||||
Box::default()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -371,6 +371,7 @@ impl Default for MemberLookupPolicy {
|
|||
|
||||
fn member_lookup_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: Type<'db>,
|
||||
_name: Name,
|
||||
_policy: MemberLookupPolicy,
|
||||
|
|
@ -380,6 +381,7 @@ fn member_lookup_cycle_initial<'db>(
|
|||
|
||||
fn class_lookup_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: Type<'db>,
|
||||
_name: Name,
|
||||
_policy: MemberLookupPolicy,
|
||||
|
|
@ -389,6 +391,7 @@ fn class_lookup_cycle_initial<'db>(
|
|||
|
||||
fn variance_cycle_initial<'db, T>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: T,
|
||||
_typevar: BoundTypeVarInstance<'db>,
|
||||
) -> TypeVarVariance {
|
||||
|
|
@ -7420,6 +7423,7 @@ impl<'db> VarianceInferable<'db> for Type<'db> {
|
|||
#[allow(clippy::trivially_copy_pass_by_ref)]
|
||||
fn is_redundant_with_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_subtype: Type<'db>,
|
||||
_supertype: Type<'db>,
|
||||
) -> bool {
|
||||
|
|
@ -7428,6 +7432,7 @@ fn is_redundant_with_cycle_initial<'db>(
|
|||
|
||||
fn apply_specialization_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: Type<'db>,
|
||||
_specialization: Specialization<'db>,
|
||||
) -> Type<'db> {
|
||||
|
|
@ -8498,6 +8503,7 @@ impl<'db> TypeVarInstance<'db> {
|
|||
|
||||
fn lazy_bound_or_constraints_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: TypeVarInstance<'db>,
|
||||
) -> Option<TypeVarBoundOrConstraints<'db>> {
|
||||
None
|
||||
|
|
@ -8505,6 +8511,7 @@ fn lazy_bound_or_constraints_cycle_initial<'db>(
|
|||
|
||||
fn lazy_default_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: TypeVarInstance<'db>,
|
||||
) -> Option<Type<'db>> {
|
||||
None
|
||||
|
|
@ -10032,6 +10039,7 @@ fn walk_bound_method_type<'db, V: visitor::TypeVisitor<'db> + ?Sized>(
|
|||
|
||||
fn into_callable_type_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: BoundMethodType<'db>,
|
||||
) -> CallableType<'db> {
|
||||
CallableType::bottom(db)
|
||||
|
|
@ -11007,12 +11015,17 @@ impl<'db> PEP695TypeAliasType<'db> {
|
|||
|
||||
fn generic_context_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: PEP695TypeAliasType<'db>,
|
||||
) -> Option<GenericContext<'db>> {
|
||||
None
|
||||
}
|
||||
|
||||
fn value_type_cycle_initial<'db>(_db: &'db dyn Db, _self: PEP695TypeAliasType<'db>) -> Type<'db> {
|
||||
fn value_type_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: PEP695TypeAliasType<'db>,
|
||||
) -> Type<'db> {
|
||||
Type::Never
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ use rustc_hash::FxHashSet;
|
|||
|
||||
fn explicit_bases_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: ClassLiteral<'db>,
|
||||
) -> Box<[Type<'db>]> {
|
||||
Box::default()
|
||||
|
|
@ -78,6 +79,7 @@ fn explicit_bases_cycle_initial<'db>(
|
|||
|
||||
fn inheritance_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: ClassLiteral<'db>,
|
||||
) -> Option<InheritanceCycle> {
|
||||
None
|
||||
|
|
@ -85,6 +87,7 @@ fn inheritance_cycle_initial<'db>(
|
|||
|
||||
fn implicit_attribute_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_class_body_scope: ScopeId<'db>,
|
||||
_name: String,
|
||||
_target_method_decorator: MethodDecorator,
|
||||
|
|
@ -94,6 +97,7 @@ fn implicit_attribute_initial<'db>(
|
|||
|
||||
fn try_mro_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
self_: ClassLiteral<'db>,
|
||||
specialization: Option<Specialization<'db>>,
|
||||
) -> Result<Mro<'db>, MroError<'db>> {
|
||||
|
|
@ -104,13 +108,18 @@ fn try_mro_cycle_initial<'db>(
|
|||
}
|
||||
|
||||
#[allow(clippy::unnecessary_wraps)]
|
||||
fn is_typed_dict_cycle_initial<'db>(_db: &'db dyn Db, _self: ClassLiteral<'db>) -> bool {
|
||||
fn is_typed_dict_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: ClassLiteral<'db>,
|
||||
) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
#[allow(clippy::unnecessary_wraps)]
|
||||
fn try_metaclass_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self_: ClassLiteral<'db>,
|
||||
) -> Result<(Type<'db>, Option<DataclassTransformerParams<'db>>), MetaclassError<'db>> {
|
||||
Err(MetaclassError {
|
||||
|
|
@ -169,6 +178,7 @@ impl<'db> CodeGeneratorKind<'db> {
|
|||
|
||||
fn code_generator_of_class_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_class: ClassLiteral<'db>,
|
||||
_specialization: Option<Specialization<'db>>,
|
||||
) -> Option<CodeGeneratorKind<'db>> {
|
||||
|
|
@ -1181,7 +1191,11 @@ impl<'db> ClassType<'db> {
|
|||
}
|
||||
}
|
||||
|
||||
fn into_callable_cycle_initial<'db>(_db: &'db dyn Db, _self: ClassType<'db>) -> Type<'db> {
|
||||
fn into_callable_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: ClassType<'db>,
|
||||
) -> Type<'db> {
|
||||
Type::Never
|
||||
}
|
||||
|
||||
|
|
@ -1334,6 +1348,7 @@ impl get_size2::GetSize for ClassLiteral<'_> {}
|
|||
|
||||
fn generic_context_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: ClassLiteral<'db>,
|
||||
) -> Option<GenericContext<'db>> {
|
||||
None
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ impl EnumMetadata<'_> {
|
|||
#[allow(clippy::unnecessary_wraps)]
|
||||
fn enum_metadata_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_class: ClassLiteral<'db>,
|
||||
) -> Option<EnumMetadata<'db>> {
|
||||
Some(EnumMetadata::empty())
|
||||
|
|
|
|||
|
|
@ -1195,6 +1195,7 @@ fn is_mode_with_nontrivial_return_type<'db>(db: &'db dyn Db, mode: Type<'db>) ->
|
|||
|
||||
fn signature_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_function: FunctionType<'db>,
|
||||
) -> CallableSignature<'db> {
|
||||
CallableSignature::single(Signature::bottom())
|
||||
|
|
@ -1202,6 +1203,7 @@ fn signature_cycle_initial<'db>(
|
|||
|
||||
fn last_definition_signature_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_function: FunctionType<'db>,
|
||||
) -> Signature<'db> {
|
||||
Signature::bottom()
|
||||
|
|
|
|||
|
|
@ -627,6 +627,7 @@ impl<'db> GenericContext<'db> {
|
|||
|
||||
fn inferable_typevars_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_self: GenericContext<'db>,
|
||||
) -> FxHashSet<BoundTypeVarIdentity<'db>> {
|
||||
FxHashSet::default()
|
||||
|
|
|
|||
|
|
@ -81,7 +81,11 @@ pub(crate) fn infer_scope_types<'db>(db: &'db dyn Db, scope: ScopeId<'db>) -> Sc
|
|||
TypeInferenceBuilder::new(db, InferenceRegion::Scope(scope), index, &module).finish_scope()
|
||||
}
|
||||
|
||||
fn scope_cycle_initial<'db>(_db: &'db dyn Db, scope: ScopeId<'db>) -> ScopeInference<'db> {
|
||||
fn scope_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
scope: ScopeId<'db>,
|
||||
) -> ScopeInference<'db> {
|
||||
ScopeInference::cycle_initial(scope)
|
||||
}
|
||||
|
||||
|
|
@ -126,6 +130,7 @@ fn definition_cycle_recover<'db>(
|
|||
|
||||
fn definition_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
definition: Definition<'db>,
|
||||
) -> DefinitionInference<'db> {
|
||||
DefinitionInference::cycle_initial(definition.scope(db))
|
||||
|
|
@ -158,6 +163,7 @@ pub(crate) fn infer_deferred_types<'db>(
|
|||
|
||||
fn deferred_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
definition: Definition<'db>,
|
||||
) -> DefinitionInference<'db> {
|
||||
DefinitionInference::cycle_initial(definition.scope(db))
|
||||
|
|
@ -240,6 +246,7 @@ fn expression_cycle_recover<'db>(
|
|||
|
||||
fn expression_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
input: InferExpression<'db>,
|
||||
) -> ExpressionInference<'db> {
|
||||
ExpressionInference::cycle_initial(input.expression(db).scope(db))
|
||||
|
|
@ -287,6 +294,7 @@ fn infer_expression_type_impl<'db>(db: &'db dyn Db, input: InferExpression<'db>)
|
|||
|
||||
fn single_expression_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_input: InferExpression<'db>,
|
||||
) -> Type<'db> {
|
||||
Type::Never
|
||||
|
|
@ -399,6 +407,7 @@ pub(crate) fn static_expression_truthiness<'db>(
|
|||
|
||||
fn static_expression_truthiness_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_expression: Expression<'db>,
|
||||
) -> Truthiness {
|
||||
Truthiness::Ambiguous
|
||||
|
|
@ -422,7 +431,11 @@ pub(super) fn infer_unpack_types<'db>(db: &'db dyn Db, unpack: Unpack<'db>) -> U
|
|||
unpacker.finish()
|
||||
}
|
||||
|
||||
fn unpack_cycle_initial<'db>(_db: &'db dyn Db, _unpack: Unpack<'db>) -> UnpackResult<'db> {
|
||||
fn unpack_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_unpack: Unpack<'db>,
|
||||
) -> UnpackResult<'db> {
|
||||
UnpackResult::cycle_initial(Type::Never)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -666,7 +666,12 @@ impl<'db> ProtocolInstanceType<'db> {
|
|||
.is_always_satisfied(db)
|
||||
}
|
||||
|
||||
fn initial<'db>(_db: &'db dyn Db, _value: ProtocolInstanceType<'db>, _: ()) -> bool {
|
||||
fn initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_value: ProtocolInstanceType<'db>,
|
||||
_: (),
|
||||
) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ fn all_negative_narrowing_constraints_for_pattern<'db>(
|
|||
|
||||
fn constraints_for_expression_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_expression: Expression<'db>,
|
||||
) -> Option<NarrowingConstraints<'db>> {
|
||||
None
|
||||
|
|
@ -127,6 +128,7 @@ fn constraints_for_expression_cycle_initial<'db>(
|
|||
|
||||
fn negative_constraints_for_expression_cycle_initial<'db>(
|
||||
_db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_expression: Expression<'db>,
|
||||
) -> Option<NarrowingConstraints<'db>> {
|
||||
None
|
||||
|
|
|
|||
|
|
@ -866,6 +866,7 @@ fn cached_protocol_interface<'db>(
|
|||
#[allow(clippy::trivially_copy_pass_by_ref)]
|
||||
fn proto_interface_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
_class: ClassType<'db>,
|
||||
) -> ProtocolInterface<'db> {
|
||||
ProtocolInterface::empty(db)
|
||||
|
|
|
|||
|
|
@ -290,7 +290,11 @@ impl<'db> TupleType<'db> {
|
|||
}
|
||||
}
|
||||
|
||||
fn to_class_type_cycle_initial<'db>(db: &'db dyn Db, self_: TupleType<'db>) -> ClassType<'db> {
|
||||
fn to_class_type_cycle_initial<'db>(
|
||||
db: &'db dyn Db,
|
||||
_id: salsa::Id,
|
||||
self_: TupleType<'db>,
|
||||
) -> ClassType<'db> {
|
||||
let tuple_class = KnownClass::Tuple
|
||||
.try_to_class_literal(db)
|
||||
.expect("Typeshed should always have a `tuple` class in `builtins.pyi`");
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ ty_python_semantic = { path = "../crates/ty_python_semantic" }
|
|||
ty_vendored = { path = "../crates/ty_vendored" }
|
||||
|
||||
libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer", default-features = false }
|
||||
salsa = { git = "https://github.com/salsa-rs/salsa.git", rev = "25b3ef146cfa2615f4ec82760bd0c22b454d0a12", default-features = false, features = [
|
||||
salsa = { git = "https://github.com/salsa-rs/salsa.git", rev = "cdd0b85516a52c18b8a6d17a2279a96ed6c3e198", default-features = false, features = [
|
||||
"compact_str",
|
||||
"macros",
|
||||
"salsa_unstable",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue