On 5/28/21 12:43 AM, Petr Viktorin wrote:
On 28. 05. 21 5:24, Ethan Furman wrote:
class FlagWithMasks(IntFlag): DEFAULT = 0x0 FIRST_MASK = 0xF FIRST_ROUND = 0x0 FIRST_CEIL = 0x1 FIRST_TRUNC = 0x2 SECOND_MASK = 0xF0 SECOND_RECALC = 0x00 SECOND_NO_RECALC = 0x10 THIRD_MASK = 0xF00 THIRD_DISCARD = 0x000 THIRD_KEEP = 0x100
Here we have three flags (FIRST_MASK, SECOND_MASK, THIRD_MASK) that are aliasing values that don't exist, but it seems intentional and not an error.
Are you looking for a decorator for the whole Enum, or a way to mark individual *values* as masks?
The decorator is for whole enum. The issue is not that some values are masks, but whether the absence of named bits covered by the mask is an error.