mirror of
https://github.com/python/cpython.git
synced 2025-10-06 23:21:06 +00:00
Close #18545: now only executes member_type if no _value_ is assigned in __new__.
This commit is contained in:
parent
4d35e75ca0
commit
b41803e3ef
2 changed files with 20 additions and 4 deletions
|
@ -152,12 +152,12 @@ class EnumMeta(type):
|
|||
args = (args, ) # wrap it one more time
|
||||
if not use_args:
|
||||
enum_member = __new__(enum_class)
|
||||
original_value = value
|
||||
if not hasattr(enum_member, '_value_'):
|
||||
enum_member._value_ = value
|
||||
else:
|
||||
enum_member = __new__(enum_class, *args)
|
||||
original_value = member_type(*args)
|
||||
if not hasattr(enum_member, '_value_'):
|
||||
enum_member._value_ = original_value
|
||||
if not hasattr(enum_member, '_value_'):
|
||||
enum_member._value_ = member_type(*args)
|
||||
value = enum_member._value_
|
||||
enum_member._member_type_ = member_type
|
||||
enum_member._name_ = member_name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue