File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -861,25 +861,28 @@ def _decompose(flag, value):
861861 # _decompose is only called if the value is not named
862862 not_covered = value
863863 negative = value < 0
864+ flags_to_check = flag
864865 # issue29167: wrap accesses to _value2member_map_ in a list to avoid race
865866 # conditions between iterating over it and having more pseudo-
866867 # members added to it
867868 if negative :
868869 # only check for named flags
869870 flags_to_check = [
870- ( m , v )
871- for v , m in list (flag ._value2member_map_ .items ())
871+ m
872+ for _ , m in list (flag ._value2member_map_ .items ())
872873 if m .name is not None
873874 ]
874875 else :
875876 # check for named flags and powers-of-two flags
876- flags_to_check = [
877- (m , v )
878- for v , m in list (flag ._value2member_map_ .items ())
879- if m .name is not None or _power_of_two (v )
877+ if issubclass (flag , IntFlag ):
878+ flags_to_check = [
879+ m
880+ for v , m in list (flag ._value2member_map_ .items ())
881+ if m .name is not None or _power_of_two (v )
880882 ]
881883 members = []
882- for member , member_value in flags_to_check :
884+ for member in flags_to_check :
885+ member_value = member .value
883886 if member_value and member_value & value == member_value :
884887 members .append (member )
885888 not_covered &= ~ member_value
You can’t perform that action at this time.
0 commit comments