diff --git a/crates/ty_python_semantic/src/types.rs b/crates/ty_python_semantic/src/types.rs index d31cc6115c..7c6028739e 100644 --- a/crates/ty_python_semantic/src/types.rs +++ b/crates/ty_python_semantic/src/types.rs @@ -6777,8 +6777,15 @@ impl<'db> TypeMapping<'_, 'db> { | TypeMapping::PromoteLiterals | TypeMapping::BindLegacyTypevars(_) | TypeMapping::MarkTypeVarsInferable(_) - | TypeMapping::Materialize(_) - | TypeMapping::BindSelf(_) => context, + | TypeMapping::Materialize(_) => context, + TypeMapping::BindSelf(_) => GenericContext::from_typevar_instances( + db, + context + .variables(db) + .iter() + .filter(|var| !var.typevar(db).is_self(db)) + .copied(), + ), TypeMapping::ReplaceSelf { new_upper_bound } => GenericContext::from_typevar_instances( db, context.variables(db).iter().map(|typevar| {