From 6c681e1a4aa2dbca61be9a26c9257d7d25fa29a7 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Fri, 23 Apr 2021 19:08:22 -0700 Subject: bpo-38659: [Enum] do not check '_inverted_' during simple test (GH-25566) Depending on usage, it's possible for Flag members to have the _inverted_ attribute when they are testing, while the Flag being testing against will not have that attribute on its members -- so skip that comparison. --- Lib/enum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index 82be1fb..ca6aff6 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1616,8 +1616,8 @@ def _test_simple_enum(checked_enum, simple_enum): simple_member_dict = simple_enum[name].__dict__ simple_member_keys = list(simple_member_dict.keys()) for key in set(checked_member_keys + simple_member_keys): - if key in ('__module__', '__objclass__'): - # keys known to be different + if key in ('__module__', '__objclass__', '_inverted_'): + # keys known to be different or absent continue elif key not in simple_member_keys: failed_member.append("missing key %r not in the simple enum member %r" % (key, name)) -- cgit v0.12