diff --git a/crates/ty_python_semantic/src/types/class.rs b/crates/ty_python_semantic/src/types/class.rs index 28bf585460..723c19bcce 100644 --- a/crates/ty_python_semantic/src/types/class.rs +++ b/crates/ty_python_semantic/src/types/class.rs @@ -1328,6 +1328,21 @@ impl<'db> ClassSingletonType<'db> { } } } + + pub(super) fn instance_member( + self, + db: &'db dyn Db, + specialization: Option>, + name: &str, + ) -> PlaceAndQualifiers<'db> { + match self { + Self::Literal(literal) => literal.instance_member(db, specialization, name), + Self::NewType(new_type) => { + // A NewType can't be specialized. + new_type.instance_member(db, name) + } + } + } } impl<'db> From> for Type<'db> { @@ -3225,6 +3240,10 @@ impl<'db> NewTypeClass<'db> { self.parent(db) .own_class_member(db, inherited_generic_context, name) } + + pub(super) fn instance_member(self, db: &'db dyn Db, name: &str) -> PlaceAndQualifiers<'db> { + self.parent(db).instance_member(db, name) + } } impl<'db> get_size2::GetSize for NewTypeClass<'_> {}