diff options
| author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2021-07-19 10:57:27 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-19 19:57:27 +0200 |
| commit | c895f2bc4f270efce30fe3687ce85095418175f4 (patch) | |
| tree | c0760cf6068fb8e0444f5d77b16d1f0ee18fed6e /Lib/typing.py | |
| parent | 8c43bf1a923754fa6d97772151c6ac23c48759d3 (diff) | |
| download | cpython-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.py | 9 |
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): |
