On Fri, May 28, 2021 at 10:26 PM Ethan Furman firstname.lastname@example.org wrote:
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.
If all masked bits must be defined by individual values then it's a
completely_masked enum? This is quite a bikeshed we're painting here! ;-)
Kind regards, Steve
Message archived at https://email@example.com/message/OM5M774M...