[ty] Add cycle handling to lazy_default (#20967)

This commit is contained in:
Micha Reiser
2025-10-23 10:05:08 +02:00
committed by GitHub
parent c3631c78bd
commit e92fd51a2c
3 changed files with 26 additions and 2 deletions

View File

@@ -8344,7 +8344,7 @@ impl<'db> TypeVarInstance<'db> {
Some(TypeVarBoundOrConstraints::Constraints(ty))
}
#[salsa::tracked(heap_size=ruff_memory_usage::heap_size)]
#[salsa::tracked(cycle_initial=lazy_default_cycle_initial, heap_size=ruff_memory_usage::heap_size)]
fn lazy_default(self, db: &'db dyn Db) -> Option<Type<'db>> {
let definition = self.definition(db)?;
let module = parsed_module(db, definition.file(db)).load(db);
@@ -8391,6 +8391,13 @@ fn lazy_bound_or_constraints_cycle_initial<'db>(
None
}
fn lazy_default_cycle_initial<'db>(
_db: &'db dyn Db,
_self: TypeVarInstance<'db>,
) -> Option<Type<'db>> {
None
}
/// Where a type variable is bound and usable.
#[derive(
Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, salsa::Update, get_size2::GetSize,