Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d482d4e

Browse files
More precise type for TypeAliasType.__getitem__ (#12354)
At runtime, this always returns a GenericAlias; see typealias_subscript in Objects/typevarobject.c. See microsoft/pyright#8444.
1 parent 6d68b57 commit d482d4e

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

stdlib/typing.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,7 @@ if sys.version_info >= (3, 12):
10561056
# It's writable on types, but not on instances of TypeAliasType.
10571057
@property
10581058
def __module__(self) -> str | None: ... # type: ignore[override]
1059-
def __getitem__(self, parameters: Any) -> Any: ...
1059+
def __getitem__(self, parameters: Any) -> GenericAlias: ...
10601060
def __or__(self, right: Any) -> _SpecialForm: ...
10611061
def __ror__(self, left: Any) -> _SpecialForm: ...
10621062

stdlib/typing_extensions.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ else:
403403
# It's writable on types, but not on instances of TypeAliasType.
404404
@property
405405
def __module__(self) -> str | None: ... # type: ignore[override]
406+
# Returns typing._GenericAlias, which isn't stubbed.
406407
def __getitem__(self, parameters: Any) -> Any: ...
407408
if sys.version_info >= (3, 10):
408409
def __or__(self, right: Any) -> _SpecialForm: ...

0 commit comments

Comments
 (0)