Skip to content

Commit e2b9520

Browse files
committed
Fix disappearing errors when re-running dmypy check
This which fixes issue #9655 wherein some types of error would be lost when a file was re-processed by dmypy. Regression tests are also included. This also fixes another error where sometimes files would not be re-processed by dmypy if the only error in the file was either "unused type ignore" or "ignore without code".
1 parent 4c6bc13 commit e2b9520

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

mypy/errors.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,8 @@ def generate_unused_ignore_errors(self, file: str) -> None:
724724
blocker=False,
725725
only_once=False,
726726
allow_dups=False,
727+
origin=(self.file, [line]),
728+
target=self.target_module,
727729
)
728730
self._add_error_info(file, info)
729731

@@ -776,6 +778,8 @@ def generate_ignore_without_code_errors(
776778
blocker=False,
777779
only_once=False,
778780
allow_dups=False,
781+
origin=(self.file, [line]),
782+
target=self.target_module,
779783
)
780784
self._add_error_info(file, info)
781785

mypy/server/update.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,8 @@ def restore(ids: list[str]) -> None:
667667
state.type_check_first_pass()
668668
state.type_check_second_pass()
669669
state.detect_possibly_undefined_vars()
670+
state.generate_unused_ignore_notes()
671+
state.generate_ignore_without_code_notes()
670672
t2 = time.time()
671673
state.finish_passes()
672674
t3 = time.time()
@@ -1028,6 +1030,10 @@ def key(node: FineGrainedDeferredNode) -> int:
10281030
if graph[module_id].type_checker().check_second_pass():
10291031
more = True
10301032

1033+
graph[module_id].detect_possibly_undefined_vars()
1034+
graph[module_id].generate_unused_ignore_notes()
1035+
graph[module_id].generate_ignore_without_code_notes()
1036+
10311037
if manager.options.export_types:
10321038
manager.all_types.update(graph[module_id].type_map())
10331039

0 commit comments

Comments
 (0)