[issue44524] __name__ attribute in typing module

Ken Jin report at bugs.python.org
Thu Aug 19 13:50:08 EDT 2021


Ken Jin <kenjin4096 at gmail.com> added the comment:

> Now a subclass of an Annotated alias is a generic type. Should it be?

I'm unsure if Annotated should be subclassable in the first place, but if I understand PEP 593 correctly,
class X(Annotated[int, (1, 10)]), should be equivalent to class X(int) right? If that's the case, it's subclassable and Generic shouldn't be in the MRO.

FWIW, the other special forms don't allow subclassing, so we don't need to think about this problem for them. Annotated is a special cookie.

I propose we just drop the _name hack temporarily in Annotated. A real fix requires fixing up __mro_entries__, but I am uncomfortable with us backporting to 3.10 anything that touches __mro_entries__ due to the numerous edge cases it has and how close we are to 3.10 final.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44524>
_______________________________________


More information about the Python-bugs-list mailing list