File tree 1 file changed +16
-0
lines changed
1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -1506,6 +1506,22 @@ class Outer(Generic[T]):
1506
1506
def g(self) -> None:
1507
1507
y: T # E: Invalid type "__main__.T"
1508
1508
1509
+ [case testGenericClassInsideOtherGenericClass]
1510
+ from typing import TypeVar, Generic
1511
+ T = TypeVar("T")
1512
+ K = TypeVar("K")
1513
+
1514
+ class C(Generic[T]):
1515
+ def __init__(self, t: T) -> None: ...
1516
+ class F(Generic[K]):
1517
+ def __init__(self, k: K) -> None: ...
1518
+ def foo(self) -> K: ...
1519
+
1520
+ reveal_type(C.F(17).foo()) # N: Revealed type is "builtins.int"
1521
+ reveal_type(C("").F(17).foo()) # N: Revealed type is "builtins.int"
1522
+ reveal_type(C.F) # N: Revealed type is "def [K] (k: K`1) -> __main__.C.F[K`1]"
1523
+ reveal_type(C("").F) # N: Revealed type is "def [K] (k: K`1) -> __main__.C.F[K`1]"
1524
+
1509
1525
1510
1526
-- Callable subtyping with generic functions
1511
1527
-- -----------------------------------------
You can’t perform that action at this time.
0 commit comments