@@ -1086,3 +1086,65 @@ def unsafe_func(x: object) -> Union[int, str]:
10861086 else:
10871087 return "some string"
10881088[builtins fixtures/isinstancelist.pyi]
1089+
1090+
1091+ ###
1092+ # unimported-reveal
1093+ ###
1094+
1095+ [case testUnimportedRevealType]
1096+ # flags: --enable-error-code=unimported-reveal
1097+ x = 1
1098+ reveal_type(x)
1099+ [out]
1100+ main:3: error: Name "reveal_type" is not defined [unimported-reveal]
1101+ main:3: note: Did you forget to import it from "typing_extensions"? (Suggestion: "from typing_extensions import reveal_type")
1102+ main:3: note: Revealed type is "builtins.int"
1103+ [builtins fixtures/isinstancelist.pyi]
1104+
1105+ [case testUnimportedRevealTypePy311]
1106+ # flags: --enable-error-code=unimported-reveal --python-version=3.11
1107+ x = 1
1108+ reveal_type(x)
1109+ [out]
1110+ main:3: error: Name "reveal_type" is not defined [unimported-reveal]
1111+ main:3: note: Did you forget to import it from "typing"? (Suggestion: "from typing import reveal_type")
1112+ main:3: note: Revealed type is "builtins.int"
1113+ [builtins fixtures/isinstancelist.pyi]
1114+
1115+ [case testUnimportedRevealTypeInUncheckedFunc]
1116+ # flags: --enable-error-code=unimported-reveal
1117+ def unchecked():
1118+ x = 1
1119+ reveal_type(x)
1120+ [out]
1121+ main:4: error: Name "reveal_type" is not defined [unimported-reveal]
1122+ main:4: note: Did you forget to import it from "typing_extensions"? (Suggestion: "from typing_extensions import reveal_type")
1123+ main:4: note: Revealed type is "Any"
1124+ main:4: note: 'reveal_type' always outputs 'Any' in unchecked functions
1125+ [builtins fixtures/isinstancelist.pyi]
1126+
1127+ [case testUnimportedRevealTypeImportedTypingExtensions]
1128+ # flags: --enable-error-code=unimported-reveal
1129+ from typing_extensions import reveal_type
1130+ x = 1
1131+ reveal_type(x) # N: Revealed type is "builtins.int"
1132+ [builtins fixtures/isinstancelist.pyi]
1133+
1134+ [case testUnimportedRevealTypeImportedTyping311]
1135+ # flags: --enable-error-code=unimported-reveal --python-version=3.11
1136+ from typing import reveal_type
1137+ x = 1
1138+ reveal_type(x) # N: Revealed type is "builtins.int"
1139+ [builtins fixtures/isinstancelist.pyi]
1140+ [typing fixtures/typing-full.pyi]
1141+
1142+ [case testUnimportedRevealLocals]
1143+ # flags: --enable-error-code=unimported-reveal
1144+ x = 1
1145+ reveal_locals()
1146+ [out]
1147+ main:3: note: Revealed local types are:
1148+ main:3: note: x: builtins.int
1149+ main:3: error: Name "reveal_locals" is not defined [unimported-reveal]
1150+ [builtins fixtures/isinstancelist.pyi]
0 commit comments