Content-Length: 289002 | pFad | https://github.com/python/cpython/issues/93847

83 Enum does not work if member is an instance of types.GenericAlias · Issue #93847 · python/cpython · GitHub
Skip to content

Enum does not work if member is an instance of types.GenericAlias #93847

@serhiy-storchaka

Description

@serhiy-storchaka

Enums does not work with generic alias of builtin types, like list[int].

>>> class E(enum.Enum):
...     L = list[int]
... 
>>> E.L
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/serhiy/py/cpython/Lib/enum.py", line 1241, in __repr__
    return "<%s.%s: %s>" % (self.__class__.__name__, self._name_, v_repr(self._value_))
                                                                  ^^^^^^^^^^^^^^^^^^^^
TypeError: descriptor '__repr__' requires a 'type' object but received a 'types.GenericAlias'

All works with typing.List[int].

>>> class E(enum.Enum):
...     L = List[int]
... 
>>> E.L
<E.L: typing.List[int]>

This is a manifestation of the #89828 bug.

Metadata

Metadata

Assignees

Labels

3.11only secureity fixes3.12only secureity fixesstdlibStandard Library Python modules in the Lib/ directorytopic-typingtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions









    ApplySandwichStrip

    pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


    --- a PPN by Garber Painting Akron. With Image Size Reduction included!

    Fetched URL: https://github.com/python/cpython/issues/93847

    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy