mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 13:34:58 +08:00
Use conditional overloads to simplify several stdlib functions (#7540)
This commit is contained in:
@@ -65,11 +65,20 @@ def astuple(obj: Any) -> tuple[Any, ...]: ...
|
||||
@overload
|
||||
def astuple(obj: Any, *, tuple_factory: Callable[[list[Any]], _T]) -> _T: ...
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
if sys.version_info >= (3, 8):
|
||||
# cls argument is now positional-only
|
||||
@overload
|
||||
def dataclass(__cls: type[_T]) -> type[_T]: ...
|
||||
@overload
|
||||
def dataclass(__cls: None) -> Callable[[type[_T]], type[_T]]: ...
|
||||
|
||||
else:
|
||||
@overload
|
||||
def dataclass(_cls: type[_T]) -> type[_T]: ...
|
||||
@overload
|
||||
def dataclass(_cls: None) -> Callable[[type[_T]], type[_T]]: ...
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
@overload
|
||||
def dataclass(
|
||||
*,
|
||||
@@ -84,22 +93,7 @@ if sys.version_info >= (3, 10):
|
||||
slots: bool = ...,
|
||||
) -> Callable[[type[_T]], type[_T]]: ...
|
||||
|
||||
elif sys.version_info >= (3, 8):
|
||||
# cls argument is now positional-only
|
||||
@overload
|
||||
def dataclass(__cls: type[_T]) -> type[_T]: ...
|
||||
@overload
|
||||
def dataclass(__cls: None) -> Callable[[type[_T]], type[_T]]: ...
|
||||
@overload
|
||||
def dataclass(
|
||||
*, init: bool = ..., repr: bool = ..., eq: bool = ..., order: bool = ..., unsafe_hash: bool = ..., frozen: bool = ...
|
||||
) -> Callable[[type[_T]], type[_T]]: ...
|
||||
|
||||
else:
|
||||
@overload
|
||||
def dataclass(_cls: type[_T]) -> type[_T]: ...
|
||||
@overload
|
||||
def dataclass(_cls: None) -> Callable[[type[_T]], type[_T]]: ...
|
||||
@overload
|
||||
def dataclass(
|
||||
*, init: bool = ..., repr: bool = ..., eq: bool = ..., order: bool = ..., unsafe_hash: bool = ..., frozen: bool = ...
|
||||
|
||||
Reference in New Issue
Block a user