summaryrefslogtreecommitdiffstats
path: root/Lib/enum.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-02-06 03:52:22 (GMT)
committerGitHub <noreply@github.com>2023-02-06 03:52:22 (GMT)
commitcf8973c63882980ef77043a5bcfefbb75d8de35c (patch)
tree085f16bfeb3a1c055d19472a5e4528a24ba21419 /Lib/enum.py
parent6ae80323dfec893726d05319f77c65e78b62d2cd (diff)
downloadcpython-cf8973c63882980ef77043a5bcfefbb75d8de35c.zip
cpython-cf8973c63882980ef77043a5bcfefbb75d8de35c.tar.gz
cpython-cf8973c63882980ef77043a5bcfefbb75d8de35c.tar.bz2
gh-101541: [Enum] create flag psuedo-member without calling original __new__ (GH-101590)
(cherry picked from commit ef7c2bfcf1fd618438f981ace64499a99ae9fae0) Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Diffstat (limited to 'Lib/enum.py')
-rw-r--r--Lib/enum.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/Lib/enum.py b/Lib/enum.py
index 7ad599b..5cff417 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -1430,12 +1430,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: