I think a longer-named decorator, with a name that actually describes its behavior would be better than any smart short name in this case.
"check_all_bits_defined" or something along it.
On Fri, 28 May 2021 at 18:30, 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.
-- ~Ethan~ _______________________________________________ Python-Dev mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://email@example.com/message/OM5M774M... Code of Conduct: http://python.org/psf/codeofconduct/