diff --git a/stdlib/dataclasses.pyi b/stdlib/dataclasses.pyi index 678e6bcb8..3fa15d9bd 100644 --- a/stdlib/dataclasses.pyi +++ b/stdlib/dataclasses.pyi @@ -18,7 +18,25 @@ def astuple(obj: Any) -> Tuple[Any, ...]: ... @overload def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T]) -> _T: ... -if sys.version_info >= (3, 8): +if sys.version_info >= (3, 10): + # Added match_args + @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 = ..., + match_args: 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]: ...