summaryrefslogtreecommitdiffstats
path: root/Lib/enum.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/enum.py')
-rw-r--r--Lib/enum.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/enum.py b/Lib/enum.py
index e597191..b19d40c 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -1114,6 +1114,14 @@ class Enum(metaclass=EnumType):
def __init__(self, *args, **kwds):
pass
+ def __getattribute__(self, name):
+ self_dict = super().__getattribute__('__dict__')
+ cls = super().__getattribute__('__class__')
+ value = super().__getattribute__(name)
+ if isinstance(value, cls) and name not in self_dict and name in self._member_names_:
+ raise AttributeError("<enum '%s'> member has no attribute %r" % (cls.__name__, name))
+ return super().__getattribute__(name)
+
def _generate_next_value_(name, start, count, last_values):
"""
Generate the next value when not given.