From 0bd58839bbc231425ea01beebeee203e07275c2d Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 22 Dec 2021 20:00:12 +0000 Subject: [PATCH] Fix 'object.__reduce__' Reverts regressions introduced by #6292. Fixes #6661. --- stdlib/builtins.pyi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index d950204b8380..0daf9d154227 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -106,11 +106,13 @@ class object: def __getattribute__(self, __name: str) -> Any: ... def __delattr__(self, __name: str) -> None: ... def __sizeof__(self) -> int: ... - def __reduce__(self) -> str | Tuple[object, ...]: ... + # return type of pickle methods is rather hard to express in the current type system + # see #6661 and https://docs.python.org/3/library/pickle.html#object.__reduce__ + def __reduce__(self) -> str | Tuple[Any, ...]: ... if sys.version_info >= (3, 8): - def __reduce_ex__(self, __protocol: SupportsIndex) -> str | Tuple[object, ...]: ... + def __reduce_ex__(self, __protocol: SupportsIndex) -> str | Tuple[Any, ...]: ... else: - def __reduce_ex__(self, __protocol: int) -> str | Tuple[object, ...]: ... + def __reduce_ex__(self, __protocol: int) -> str | Tuple[Any, ...]: ... def __dir__(self) -> Iterable[str]: ... def __init_subclass__(cls) -> None: ...