mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
[3.12] gh-114149: [Enum] fix tuple subclass handling when using custom __new__ (GH-114160) (GH-114196)
(cherry picked from commit 33b47a2c28
)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
This commit is contained in:
parent
24d23929d6
commit
c1890e666e
3 changed files with 20 additions and 3 deletions
|
@ -254,7 +254,7 @@ class _proto_member:
|
|||
delattr(enum_class, member_name)
|
||||
# second step: create member based on enum_class
|
||||
value = self.value
|
||||
if not isinstance(value, tuple):
|
||||
if type(value) is not tuple:
|
||||
args = (value, )
|
||||
else:
|
||||
args = value
|
||||
|
@ -1757,7 +1757,7 @@ def _simple_enum(etype=Enum, *, boundary=None, use_args=None):
|
|||
else:
|
||||
# create the member
|
||||
if use_args:
|
||||
if not isinstance(value, tuple):
|
||||
if type(value) is not tuple:
|
||||
value = (value, )
|
||||
member = new_member(enum_class, *value)
|
||||
value = value[0]
|
||||
|
@ -1807,7 +1807,7 @@ def _simple_enum(etype=Enum, *, boundary=None, use_args=None):
|
|||
else:
|
||||
# create the member
|
||||
if use_args:
|
||||
if not isinstance(value, tuple):
|
||||
if type(value) is not tuple:
|
||||
value = (value, )
|
||||
member = new_member(enum_class, *value)
|
||||
value = value[0]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue