From ff91f5630baccf198bf0cac189eea169141d6753 Mon Sep 17 00:00:00 2001 From: Adrian Freund Date: Tue, 13 Apr 2021 00:42:43 +0200 Subject: [PATCH] Added match_args parameter to dataclass (bpo-43764) (#5212) https://bugs.python.org/issue43764 --- stdlib/dataclasses.pyi | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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]: ...