Guido van Rossum <gu...@python.org> added the comment:

What it prints is irrelevant to static checking.

Currently the typeshed stub for the code already exports RegexFlag, so that the 
following passes mypy but fails at runtime:
```
from re import *

def foo(flag: RegexFlag):
    return match("[a-z]+", "ABC", flag)

print(foo(IGNORECASE))
print(foo(VERBOSE))
```
I think it's good to add it to `__all__` so this code will not put the type 
checker to shame, and it would be good to document it.

One thing I discovered when developing this example: there doesn't seem to be a 
flag to represent 0 (zero), i.e. "no flags".  And foo(0) is a type error (even 
though it works fine at runtime).

----------

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

Reply via email to