@@ -5002,12 +5002,13 @@ class A(Tuple[int, str]): pass
50025002-- -----------------------
50035003
50045004[case testCrashOnSelfRecursiveNamedTupleVar]
5005- # flags: --disable-recursive-aliases
50065005from typing import NamedTuple
50075006
5008- N = NamedTuple('N', [('x', N)]) # E: Cannot resolve name "N" (possible cyclic definition)
5009- n: N
5010- reveal_type(n) # N: Revealed type is "Tuple[Any, fallback=__main__.N]"
5007+ def test() -> None:
5008+ N = NamedTuple('N', [('x', N)]) # E: Cannot resolve name "N" (possible cyclic definition) \
5009+ # N: Recursive types are not allowed at function scope
5010+ n: N
5011+ reveal_type(n) # N: Revealed type is "Tuple[Any, fallback=__main__.N@4]"
50115012[builtins fixtures/tuple.pyi]
50125013
50135014[case testCrashOnSelfRecursiveTypedDictVar]
@@ -5032,18 +5033,20 @@ lst = [n, m]
50325033[builtins fixtures/isinstancelist.pyi]
50335034
50345035[case testCorrectJoinOfSelfRecursiveTypedDicts]
5035- # flags: --disable-recursive-aliases
50365036from mypy_extensions import TypedDict
50375037
5038- class N(TypedDict):
5039- x: N # E: Cannot resolve name "N" (possible cyclic definition)
5040- class M(TypedDict):
5041- x: M # E: Cannot resolve name "M" (possible cyclic definition)
5042-
5043- n: N
5044- m: M
5045- lst = [n, m]
5046- reveal_type(lst[0]['x']) # N: Revealed type is "Any"
5038+ def test() -> None:
5039+ class N(TypedDict):
5040+ x: N # E: Cannot resolve name "N" (possible cyclic definition) \
5041+ # N: Recursive types are not allowed at function scope
5042+ class M(TypedDict):
5043+ x: M # E: Cannot resolve name "M" (possible cyclic definition) \
5044+ # N: Recursive types are not allowed at function scope
5045+
5046+ n: N
5047+ m: M
5048+ lst = [n, m]
5049+ reveal_type(lst[0]['x']) # N: Revealed type is "Any"
50475050[builtins fixtures/isinstancelist.pyi]
50485051
50495052[case testCrashInForwardRefToNamedTupleWithIsinstance]
0 commit comments