From: Sebastian Rittau Date: Tue, 6 Jul 2021 15:01:15 +0000 (+0200) Subject: bpo-38291: Fix a spurious warning when using help(object) (#27039) X-Git-Tag: v3.11.0a1~724 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b849ea0f3482ad834e7989ff474dd5db2f295c8;p=thirdparty%2FPython%2Fcpython.git bpo-38291: Fix a spurious warning when using help(object) (#27039) help(object) via pydoc.TextDoc.docclass(object) iterates over the subclasses of object, which includes typing.io and typing.re if typing is imported. It tries to access cls.__module__ for each of those sub-classes. This change suppresses warnings when accessing cls.__module__. --- diff --git a/Lib/typing.py b/Lib/typing.py index 2287f0521a36..ca05fb54bf42 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -2512,7 +2512,7 @@ class TextIO(IO[str]): class _DeprecatedType(type): def __getattribute__(cls, name): - if name != "__dict__" and name in cls.__dict__: + if name not in ("__dict__", "__module__") and name in cls.__dict__: warnings.warn( f"{cls.__name__} is deprecated, import directly " f"from typing instead. {cls.__name__} will be removed "