summaryrefslogtreecommitdiff
path: root/Lib/typing.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2021-07-19 10:57:27 -0700
committerGitHub <noreply@github.com>2021-07-19 19:57:27 +0200
commitc895f2bc4f270efce30fe3687ce85095418175f4 (patch)
treec0760cf6068fb8e0444f5d77b16d1f0ee18fed6e /Lib/typing.py
parent8c43bf1a923754fa6d97772151c6ac23c48759d3 (diff)
downloadcpython-git-c895f2bc4f270efce30fe3687ce85095418175f4.tar.gz
bpo-44524: Add missed __name__ and __qualname__ to typing module objects (GH-27237) (#27246)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> (cherry picked from commit bce1418541a64a793960182772f985f64afbfa1a) Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
Diffstat (limited to 'Lib/typing.py')
-rw-r--r--Lib/typing.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/typing.py b/Lib/typing.py
index 660ad3526f..cb70394bec 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -357,6 +357,12 @@ class _SpecialForm(_Final, _root=True):
self._name = getitem.__name__
self.__doc__ = getitem.__doc__
+ def __getattr__(self, item):
+ if item in {'__name__', '__qualname__'}:
+ return self._name
+
+ raise AttributeError(item)
+
def __mro_entries__(self, bases):
raise TypeError(f"Cannot subclass {self!r}")
@@ -934,6 +940,9 @@ class _BaseGenericAlias(_Final, _root=True):
return tuple(res)
def __getattr__(self, attr):
+ if attr in {'__name__', '__qualname__'}:
+ return self._name
+
# We are careful for copy and pickle.
# Also for simplicity we just don't relay all dunder names
if '__origin__' in self.__dict__ and not _is_dunder(attr):