diff options
author | Ethan Furman <ethan@stoneleaf.us> | 2023-02-06 03:29:06 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-06 03:29:06 (GMT) |
commit | ef7c2bfcf1fd618438f981ace64499a99ae9fae0 (patch) | |
tree | b22306abe9e9df5cc05c3553894cd59d7b76a4a1 /Lib/enum.py | |
parent | d3e2dd6e71bd8e5482973891926d5df19be687eb (diff) | |
download | cpython-ef7c2bfcf1fd618438f981ace64499a99ae9fae0.zip cpython-ef7c2bfcf1fd618438f981ace64499a99ae9fae0.tar.gz cpython-ef7c2bfcf1fd618438f981ace64499a99ae9fae0.tar.bz2 |
gh-101541: [Enum] create flag psuedo-member without calling original __new__ (GH-101590)
Diffstat (limited to 'Lib/enum.py')
-rw-r--r-- | Lib/enum.py | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index adb6151..d14e91a 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1429,12 +1429,11 @@ class Flag(Enum, boundary=CONFORM): % (cls.__name__, value, unknown, bin(unknown)) ) # normal Flag? - __new__ = getattr(cls, '__new_member__', None) - if cls._member_type_ is object and not __new__: + if cls._member_type_ is object: # construct a singleton enum pseudo-member pseudo_member = object.__new__(cls) else: - pseudo_member = (__new__ or cls._member_type_.__new__)(cls, value) + pseudo_member = cls._member_type_.__new__(cls, value) if not hasattr(pseudo_member, '_value_'): pseudo_member._value_ = value if member_value: |