[Python-checkins] cpython (3.5): issue26893: use mro() to examine class heirarchy
ethan.furman
python-checkins at python.org
Sun May 1 13:04:55 EDT 2016
https://hg.python.org/cpython/rev/1b6581bae5a1
changeset: 101203:1b6581bae5a1
branch: 3.5
parent: 101201:41afb83cffac
user: Ethan Furman <ethan at stoneleaf.us>
date: Sun May 01 10:03:53 2016 -0700
summary:
issue26893: use mro() to examine class heirarchy
files:
Lib/enum.py | 2 +-
Lib/test/test_enum.py | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/Lib/enum.py b/Lib/enum.py
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -118,7 +118,7 @@
# save attributes from super classes so we know if we can take
# the shortcut of storing members in the class dict
- base_attributes = {a for b in bases for a in b.__dict__}
+ base_attributes = {a for b in enum_class.mro() for a in b.__dict__}
# Reverse value->name map for hashable values.
enum_class._value2member_map_ = {}
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1568,6 +1568,19 @@
triple = 3
turkey = 3
+ def test_unique_with_name(self):
+ @unique
+ class Silly(Enum):
+ one = 1
+ two = 'dos'
+ name = 3
+ @unique
+ class Sillier(IntEnum):
+ single = 1
+ name = 2
+ triple = 3
+ value = 4
+
expected_help_output_with_docs = """\
Help on class Color in module %s:
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list