summaryrefslogtreecommitdiffstats
path: root/Lib/enum.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/enum.py')
-rw-r--r--Lib/enum.py3
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: