From 697e6ccbd36fdd57af5ecbc81bbf59d2849747b3 Mon Sep 17 00:00:00 2001 From: David Peter Date: Tue, 14 Oct 2025 13:51:16 +0200 Subject: [PATCH] [ty] Treat `ClassVar`-qualified `Callable`s as bound-method descriptors --- crates/ty_python_semantic/src/types/class.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ty_python_semantic/src/types/class.rs b/crates/ty_python_semantic/src/types/class.rs index b9b63a50a1..51f4cd4d98 100644 --- a/crates/ty_python_semantic/src/types/class.rs +++ b/crates/ty_python_semantic/src/types/class.rs @@ -2032,7 +2032,7 @@ impl<'db> ClassLiteral<'db> { // We generally treat dunder attributes with `Callable` types as function-like callables. // See `callables_as_descriptors.md` for more details. - if name.starts_with("__") && name.ends_with("__") { + if (name.starts_with("__") && name.ends_with("__")) || member.is_class_var() { member = member.map_type(|ty| into_function_like_callable(db, ty)); }