[mypy]
files = Tools/peg_generator/pegen
pretty = True
show_traceback = True

# Make sure the peg_generator can be run using Python 3.10:
python_version = 3.10

# Be strict...
strict = True
warn_unreachable = True
enable_error_code = truthy-bool,ignore-without-code,redundant-expr

# This causes *many* false positives on the peg_generator
# due to pegen.grammar.GrammarVisitor returning Any from visit() and generic_visit().
# It would be possible to workaround the false positives using asserts,
# but it would be pretty tedious, and probably isn't worth it.
warn_return_any = False

# Not all of the strictest settings can be enabled
# on generated Python code yet:
[mypy-pegen.grammar_parser.*]
disable_error_code = redundant-expr
