Skip to content

Commit

Permalink
pythongh-108455: peg_generator: enable mypy's --warn-unreachable se…
Browse files Browse the repository at this point in the history
…tting and `redundant-expr` error code (python#109160)
  • Loading branch information
AlexWaygood authored Sep 8, 2023
1 parent 15d659f commit 697c9dc
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
14 changes: 11 additions & 3 deletions Tools/peg_generator/mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,16 @@ python_version = 3.10

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

# except for a few settings that can't yet be enabled:
# 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
warn_unreachable = False

# Not all of the strictest settings can be enabled
# on generated Python code yet:
[mypy-pegen.grammar_parser.*]
disable_error_code = redundant-expr
2 changes: 0 additions & 2 deletions Tools/peg_generator/pegen/ast_dump.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,4 @@ def _format(node: Any, level: int = 0) -> Tuple[str, bool]:

if all(cls.__name__ != "AST" for cls in node.__class__.__mro__):
raise TypeError("expected AST, got %r" % node.__class__.__name__)
if indent is not None and not isinstance(indent, str):
indent = " " * indent
return _format(node)[0]
6 changes: 2 additions & 4 deletions Tools/peg_generator/pegen/grammar.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ def __str__(self) -> str:
return self.value

def __iter__(self) -> Iterable[str]:
if False:
yield
yield from ()


class NameLeaf(Leaf):
Expand Down Expand Up @@ -335,8 +334,7 @@ def __str__(self) -> str:
return f"~"

def __iter__(self) -> Iterator[Tuple[str, str]]:
if False:
yield
yield from ()

def __eq__(self, other: object) -> bool:
if not isinstance(other, Cut):
Expand Down

0 comments on commit 697c9dc

Please sign in to comment.