On Mon, Nov 8, 2021 at 10:29 PM Ethan Furman <ethan@stoneleaf.us> wrote:

The way I see it, the following should hold

     empty_flag = RegexFlag(0)
     any_case = RegexFlag.IGNORECASE
     any_case_on_any_line = RegexFlag.IGNORECASE | RegexFlag.MULTILINE

     any_case in empty_flag is False
     any_case_on_any_line in empty_flag is False

     empty_flag in any_case is False
     empty_flag in any_case_on_any_line is False

The latter two defy all logic. Please don't. Your 'in' operator clearly means "is a subset of", and the empty set emphatically is a subset of all sets (this is the most basic mainstream set theory you can think of).

--
--Guido van Rossum (python.org/~guido)