Skip to content

Commit 3d56dd4

Browse files
committed
Address CR (more tests)
1 parent 0a3a081 commit 3d56dd4

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

test-data/unit/check-classvar.test

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,9 @@ A[int, str].x # E: Access to generic class variables is ambiguous
319319

320320
class Bad(A[int, str]):
321321
pass
322-
Bad.x # E: Access to generic class variables is ambiguous
322+
reveal_type(Bad.x) # E: Access to generic class variables is ambiguous \
323+
# N: Revealed type is "Union[builtins.int, tuple[builtins.str, type[builtins.str]]]"
324+
reveal_type(Bad().x) # N: Revealed type is "Union[builtins.int, tuple[builtins.str, type[builtins.str]]]"
323325

324326
class Good(A[int, str]):
325327
x = 42

test-data/unit/check-selftype.test

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2221,7 +2221,7 @@ class C(A, B): # OK: both methods take Self
22212221
[builtins fixtures/tuple.pyi]
22222222

22232223
[case testSelfTypeClassMethodNotSilentlyErased]
2224-
from typing import ClassVar, Self, Optional
2224+
from typing import Self, Optional
22252225

22262226
class X:
22272227
_inst: Optional[Self] = None
@@ -2231,6 +2231,15 @@ class X:
22312231
if cls._inst is None:
22322232
cls._inst = cls()
22332233
return cls._inst
2234+
2235+
reveal_type(X._inst) # E: Access to generic instance variables via class is ambiguous \
2236+
# N: Revealed type is "Union[__main__.X, None]"
2237+
reveal_type(X()._inst) # N: Revealed type is "Union[__main__.X, None]"
2238+
2239+
class Y(X): ...
2240+
reveal_type(Y._inst) # E: Access to generic instance variables via class is ambiguous \
2241+
# N: Revealed type is "Union[__main__.Y, None]"
2242+
reveal_type(Y()._inst) # N: Revealed type is "Union[__main__.Y, None]"
22342243
[builtins fixtures/tuple.pyi]
22352244

22362245
[case testSelfInFuncDecoratedClassmethod]

test-data/unit/check-typevar-tuple.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2638,6 +2638,17 @@ class C(Generic[Unpack[Ts]]):
26382638

26392639
reveal_type(C.x) # E: Access to generic instance variables via class is ambiguous \
26402640
# N: Revealed type is "builtins.tuple[Any, ...]"
2641+
2642+
class Bad(C[int, int]):
2643+
pass
2644+
reveal_type(Bad.x) # E: Access to generic instance variables via class is ambiguous \
2645+
# N: Revealed type is "tuple[builtins.int, builtins.int]"
2646+
reveal_type(Bad().x) # N: Revealed type is "tuple[builtins.int, builtins.int]"
2647+
2648+
class Good(C[int, int]):
2649+
x = (1, 1)
2650+
reveal_type(Good.x) # N: Revealed type is "tuple[builtins.int, builtins.int]"
2651+
reveal_type(Good().x) # N: Revealed type is "tuple[builtins.int, builtins.int]"
26412652
[builtins fixtures/tuple.pyi]
26422653

26432654
[case testConstraintsIncludeTupleFallback]

0 commit comments

Comments
 (0)