mirror of
https://github.com/python/cpython.git
synced 2025-07-19 17:25:54 +00:00
bpo-42727: [Enum] use super() and include **kwds (GH-23927)
for multiple inheritance support:
use super().new
pass **kwds to super().new
(cherry picked from commit 786d97a66c
)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
This commit is contained in:
parent
51f5029146
commit
fbffda25b4
1 changed files with 2 additions and 2 deletions
|
@ -227,10 +227,10 @@ class EnumMeta(type):
|
|||
# create our new Enum type
|
||||
if bases:
|
||||
bases = (_NoInitSubclass, ) + bases
|
||||
enum_class = type.__new__(metacls, cls, bases, classdict)
|
||||
enum_class = super().__new__(metacls, cls, bases, classdict, **kwds)
|
||||
enum_class.__bases__ = enum_class.__bases__[1:] #or (object, )
|
||||
else:
|
||||
enum_class = type.__new__(metacls, cls, bases, classdict)
|
||||
enum_class = super().__new__(metacls, cls, bases, classdict, **kwds)
|
||||
old_init_subclass = getattr(enum_class, '__init_subclass__', None)
|
||||
# and restore the new one (if there was one)
|
||||
if new_init_subclass is not None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue