diff options
Diffstat (limited to 'Lib/enum.py')
-rw-r--r-- | Lib/enum.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index 432d745..e9f224a 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -967,6 +967,7 @@ class EnumType(type): @classmethod def _find_data_type_(mcls, class_name, bases): + # a datatype has a __new__ method, or a __dataclass_fields__ attribute data_types = set() base_chain = set() for chain in bases: @@ -979,7 +980,7 @@ class EnumType(type): if base._member_type_ is not object: data_types.add(base._member_type_) break - elif '__new__' in base.__dict__ or '__init__' in base.__dict__: + elif '__new__' in base.__dict__ or '__dataclass_fields__' in base.__dict__: data_types.add(candidate or base) break else: |