You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apply generic class fix also to non-callable types (#8030)
This is a follow up for #8021, that applies the fix also to non-callable types. Currently non-callable types are still wrong:
```python
R = TypeVar('R')
T = TypeVar('T')
# Can be any decorator that makes type non-callable.
def classproperty(f: Callable[..., R]) -> R: ...
class C(Generic[T]):
@classproperty
def test(self) -> T: ...
x: C[int]
y: Type[C[int]]
reveal_type(x.test) # Revealed type is 'int', OK
reveal_type(y.test) # Revealed type is 'T' ???
```
So, #7724 strikes again. It turns out there is not only duplicated logic for attribute kinds (decorators vs normal methods), but also for callable vs non-callable types. In latter case we still need to expand the type (like in other places, e.g., `analyze_var`).
0 commit comments