From 97ecd2b91ffe7feab76aa1d6e30c5dc998358a04 Mon Sep 17 00:00:00 2001 From: Michael Seifert Date: Sun, 10 Nov 2019 15:48:56 +0100 Subject: [PATCH] Change the return type of __reduce__ and __reduce_ex__ to Union[str, Tuple[Any, ...]] (#3453) This allows subclasses to return strings (which are allowed) from these methods without having mypy throwing an error. Closes #3452 --- stdlib/2/__builtin__.pyi | 4 ++-- stdlib/2and3/builtins.pyi | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/stdlib/2/__builtin__.pyi b/stdlib/2/__builtin__.pyi index f044b4a34..af95e6b8f 100644 --- a/stdlib/2/__builtin__.pyi +++ b/stdlib/2/__builtin__.pyi @@ -61,8 +61,8 @@ class object: def __getattribute__(self, name: str) -> Any: ... def __delattr__(self, name: str) -> None: ... def __sizeof__(self) -> int: ... - def __reduce__(self) -> Tuple[Any, ...]: ... - def __reduce_ex__(self, protocol: int) -> Tuple[Any, ...]: ... + def __reduce__(self) -> Union[str, Tuple[Any, ...]]: ... + def __reduce_ex__(self, protocol: int) -> Union[str, Tuple[Any, ...]]: ... if sys.version_info >= (3,): def __dir__(self) -> Iterable[str]: ... if sys.version_info >= (3, 6): diff --git a/stdlib/2and3/builtins.pyi b/stdlib/2and3/builtins.pyi index f044b4a34..af95e6b8f 100644 --- a/stdlib/2and3/builtins.pyi +++ b/stdlib/2and3/builtins.pyi @@ -61,8 +61,8 @@ class object: def __getattribute__(self, name: str) -> Any: ... def __delattr__(self, name: str) -> None: ... def __sizeof__(self) -> int: ... - def __reduce__(self) -> Tuple[Any, ...]: ... - def __reduce_ex__(self, protocol: int) -> Tuple[Any, ...]: ... + def __reduce__(self) -> Union[str, Tuple[Any, ...]]: ... + def __reduce_ex__(self, protocol: int) -> Union[str, Tuple[Any, ...]]: ... if sys.version_info >= (3,): def __dir__(self) -> Iterable[str]: ... if sys.version_info >= (3, 6):