From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 25 Dec 2020 16:07:30 +0000 (-0800) Subject: bpo-42727: [Enum] use super() and include **kwds (GH-23927) X-Git-Tag: v3.9.2rc1~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fbffda25b4b5f537e651eaab4ca1ec4cde800709;p=thirdparty%2FPython%2Fcpython.git 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 786d97a66cac48e7a933010367b8993a5b3ab85b) Co-authored-by: Ethan Furman --- diff --git a/Lib/enum.py b/Lib/enum.py index aa9f4b00dd74..1c22380f03b3 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -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: