Skip to content

Commit 0d140b8

Browse files
authored
gh-108455: peg_generator: make the mypy config slightly stricter (#108627)
* Enable `--no-implicit-reexport` * Enable the `truthy-bool` error code * Enable the `ignore-without-code` error code * Explicitly note that `--warn-unreachable` cannot yet be enabled
1 parent c879b9f commit 0d140b8

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

Tools/peg_generator/mypy.ini

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ python_version = 3.10
88

99
# Be strict...
1010
strict = True
11+
enable_error_code = truthy-bool,ignore-without-code
1112

1213
# except for a few settings that can't yet be enabled:
1314
warn_return_any = False
14-
no_implicit_reexport = False
15+
warn_unreachable = False
1516

1617
[mypy-pegen.grammar_parser]
1718
strict_optional = False

Tools/peg_generator/pegen/__main__.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212
import traceback
1313
from typing import Tuple
1414

15-
from pegen.build import Grammar, Parser, ParserGenerator, Tokenizer
15+
from pegen.grammar import Grammar
16+
from pegen.parser import Parser
17+
from pegen.parser_generator import ParserGenerator
18+
from pegen.tokenizer import Tokenizer
1619
from pegen.validator import validate_grammar
1720

1821

Tools/peg_generator/pegen/parser.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def logger_wrapper(self: "Parser", *args: object) -> Any:
3232
print(f"{fill}... {method_name}({argsr}) --> {tree!s:.200}")
3333
return tree
3434

35-
logger_wrapper.__wrapped__ = method # type: ignore
35+
logger_wrapper.__wrapped__ = method # type: ignore[attr-defined]
3636
return cast(F, logger_wrapper)
3737

3838

@@ -69,7 +69,7 @@ def memoize_wrapper(self: "Parser", *args: object) -> Any:
6969
self._reset(endmark)
7070
return tree
7171

72-
memoize_wrapper.__wrapped__ = method # type: ignore
72+
memoize_wrapper.__wrapped__ = method # type: ignore[attr-defined]
7373
return cast(F, memoize_wrapper)
7474

7575

@@ -153,7 +153,7 @@ def memoize_left_rec_wrapper(self: "Parser") -> Optional[T]:
153153
self._reset(endmark)
154154
return tree
155155

156-
memoize_left_rec_wrapper.__wrapped__ = method # type: ignore
156+
memoize_left_rec_wrapper.__wrapped__ = method # type: ignore[attr-defined]
157157
return memoize_left_rec_wrapper
158158

159159

Tools/peg_generator/pegen/testutil.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def generate_parser(grammar: Grammar) -> Type[Parser]:
3737

3838
def run_parser(file: IO[bytes], parser_class: Type[Parser], *, verbose: bool = False) -> Any:
3939
# Run a parser on a file (stream).
40-
tokenizer = Tokenizer(tokenize.generate_tokens(file.readline)) # type: ignore # typeshed issue #3515
40+
tokenizer = Tokenizer(tokenize.generate_tokens(file.readline)) # type: ignore[arg-type] # typeshed issue #3515
4141
parser = parser_class(tokenizer, verbose=verbose)
4242
result = parser.start()
4343
if result is None:
@@ -52,7 +52,7 @@ def parse_string(
5252
if dedent:
5353
source = textwrap.dedent(source)
5454
file = io.StringIO(source)
55-
return run_parser(file, parser_class, verbose=verbose) # type: ignore # typeshed issue #3515
55+
return run_parser(file, parser_class, verbose=verbose) # type: ignore[arg-type] # typeshed issue #3515
5656

5757

5858
def make_parser(source: str) -> Type[Parser]:
@@ -116,7 +116,7 @@ def generate_parser_c_extension(
116116
def print_memstats() -> bool:
117117
MiB: Final = 2**20
118118
try:
119-
import psutil # type: ignore
119+
import psutil # type: ignore[import]
120120
except ImportError:
121121
return False
122122
print("Memory stats:")

0 commit comments

Comments
 (0)