diff --git a/mypy/errors.py b/mypy/errors.py index eabe96a2dc737..f670879538879 100644 --- a/mypy/errors.py +++ b/mypy/errors.py @@ -725,6 +725,8 @@ def generate_unused_ignore_errors(self, file: str) -> None: blocker=False, only_once=False, allow_dups=False, + origin=(self.file, [line]), + target=self.target_module, ) self._add_error_info(file, info) @@ -777,6 +779,8 @@ def generate_ignore_without_code_errors( blocker=False, only_once=False, allow_dups=False, + origin=(self.file, [line]), + target=self.target_module, ) self._add_error_info(file, info) diff --git a/mypy/server/update.py b/mypy/server/update.py index 0cc7a2229514d..0371d5d402669 100644 --- a/mypy/server/update.py +++ b/mypy/server/update.py @@ -667,6 +667,8 @@ def restore(ids: list[str]) -> None: state.type_check_first_pass() state.type_check_second_pass() state.detect_possibly_undefined_vars() + state.generate_unused_ignore_notes() + state.generate_ignore_without_code_notes() t2 = time.time() state.finish_passes() t3 = time.time() @@ -1028,6 +1030,10 @@ def key(node: FineGrainedDeferredNode) -> int: if graph[module_id].type_checker().check_second_pass(): more = True + graph[module_id].detect_possibly_undefined_vars() + graph[module_id].generate_unused_ignore_notes() + graph[module_id].generate_ignore_without_code_notes() + if manager.options.export_types: manager.all_types.update(graph[module_id].type_map())