Ethan Furman <et...@stoneleaf.us> added the comment:

That is an intentional change.  The cause is that the masks include bits that 
are not named in the Flag.

The user-side fix is to add a `boundary=KEEP` option to the flag:

    class GeodIntermediateFlag(IntFlag, boundary=KEEP)

The enum library fix could be one of two things:

- automatically use the KEEP boundary when these conditions arise, and issue a 
DeprecationWarning; or

- lose that particular check.

I'm inclined to go with option 2, since `boundary` is designed to answer the 
question of what to do when Flag.A | Flag.B does not exist in Flag.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44242>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to