lib.enum: add Python 3.7..3.8 compatibility shim.

This commit is contained in:
Catherine 2023-02-28 13:26:52 +00:00
parent 57612f1dce
commit de36e3c162

View file

@ -24,6 +24,12 @@ class EnumMeta(ShapeCastable, py_enum.EnumMeta):
:meth:`as_shape` is never called, it places no restrictions on the enumeration class
or the values of its members.
"""
# TODO: remove this shim once py3.8 support is dropped
@classmethod
def __prepare__(metacls, name, bases, shape=None, **kwargs):
return super().__prepare__(name, bases, **kwargs)
def __new__(metacls, name, bases, namespace, shape=None, **kwargs):
cls = py_enum.EnumMeta.__new__(metacls, name, bases, namespace, **kwargs)
if shape is not None: