mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Use recursive type aliases in builtins and _typeshed (#9134)
This commit is contained in:
@@ -1325,19 +1325,13 @@ def iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]:
|
||||
@overload
|
||||
def iter(__function: Callable[[], _T], __sentinel: object) -> Iterator[_T]: ...
|
||||
|
||||
# We need recursive types to express the type of the second argument to `isinstance` properly, hence the use of `Any`
|
||||
if sys.version_info >= (3, 10):
|
||||
def isinstance(
|
||||
__obj: object, __class_or_tuple: type | types.UnionType | tuple[type | types.UnionType | tuple[Any, ...], ...]
|
||||
) -> bool: ...
|
||||
def issubclass(
|
||||
__cls: type, __class_or_tuple: type | types.UnionType | tuple[type | types.UnionType | tuple[Any, ...], ...]
|
||||
) -> bool: ...
|
||||
|
||||
_ClassInfo: TypeAlias = type | types.UnionType | tuple[_ClassInfo, ...]
|
||||
else:
|
||||
def isinstance(__obj: object, __class_or_tuple: type | tuple[type | tuple[Any, ...], ...]) -> bool: ...
|
||||
def issubclass(__cls: type, __class_or_tuple: type | tuple[type | tuple[Any, ...], ...]) -> bool: ...
|
||||
_ClassInfo: TypeAlias = type | tuple[_ClassInfo, ...]
|
||||
|
||||
def isinstance(__obj: object, __class_or_tuple: _ClassInfo) -> bool: ...
|
||||
def issubclass(__cls: type, __class_or_tuple: _ClassInfo) -> bool: ...
|
||||
def len(__obj: Sized) -> int: ...
|
||||
def license() -> None: ...
|
||||
def locals() -> dict[str, Any]: ...
|
||||
|
||||
Reference in New Issue
Block a user