mirror of
https://github.com/python/cpython.git
synced 2025-09-15 05:06:12 +00:00
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 bce1418541
)
Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
This commit is contained in:
parent
8c43bf1a92
commit
c895f2bc4f
3 changed files with 72 additions and 0 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue