Author veky
Recipients barry, eli.bendersky, ethan.furman, ezio.melotti, martin.panter, r.david.murray, serhiy.storchaka, veky
Date 2016-08-15.21:06:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1471295184.14.0.957824088535.issue23591@psf.upfronthosting.co.za>
In-reply-to
Content
I suppose you'll also forbid adding new members to Flags, just like Enum does, right? (https://docs.python.org/3/library/enum.html#restricted-subclassing-of-enumerations) Otherwise cropping -1 at a fixed number of bits might be very counterintuitive.

But still, your "simple algorithm" seems too simple. You might easily produce values you won't be able to interpret.

    class ThirdBitMustBeSet(Flags):
        FIRST = 5
        SECOND = 6

    >>> ThirdBitMustBeSet.FIRST | ThirdBitMustBeSet.SECOND

produces error when printing, but otherwise works completely fine. A debugging nightmare. :-/ I'd at least ensure each bit has a separate name if you're going to use that scheme.
History
Date User Action Args
2016-08-15 21:06:24vekysetrecipients: + veky, barry, ezio.melotti, r.david.murray, eli.bendersky, ethan.furman, martin.panter, serhiy.storchaka
2016-08-15 21:06:24vekysetmessageid: <1471295184.14.0.957824088535.issue23591@psf.upfronthosting.co.za>
2016-08-15 21:06:24vekylinkissue23591 messages
2016-08-15 21:06:23vekycreate