From 309e7bda32cd8193d18cc0e2236b0372a5532029 Mon Sep 17 00:00:00 2001 From: Ron Frederick Date: Sat, 7 Aug 2021 20:46:03 -0700 Subject: [PATCH] Update builtins.pyi (#5874) Change getattr/hasattr first argument from Any to object Fixes #5848 --- stdlib/builtins.pyi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index 108aeba94..51e99c55d 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -1034,18 +1034,18 @@ class filter(Iterator[_T], Generic[_T]): def format(__value: object, __format_spec: str = ...) -> str: ... # TODO unicode @overload -def getattr(__o: Any, name: str) -> Any: ... +def getattr(__o: object, name: str) -> Any: ... # While technically covered by the last overload, spelling out the types for None and bool # help mypy out in some tricky situations involving type context (aka bidirectional inference) @overload -def getattr(__o: Any, name: str, __default: None) -> Optional[Any]: ... +def getattr(__o: object, name: str, __default: None) -> Optional[Any]: ... @overload -def getattr(__o: Any, name: str, __default: bool) -> Union[Any, bool]: ... +def getattr(__o: object, name: str, __default: bool) -> Union[Any, bool]: ... @overload -def getattr(__o: Any, name: str, __default: _T) -> Union[Any, _T]: ... +def getattr(__o: object, name: str, __default: _T) -> Union[Any, _T]: ... def globals() -> Dict[str, Any]: ... -def hasattr(__obj: Any, __name: str) -> bool: ... +def hasattr(__obj: object, __name: str) -> bool: ... def hash(__obj: object) -> int: ... def help(*args: Any, **kwds: Any) -> None: ... def hex(__number: Union[int, SupportsIndex]) -> str: ...