From d17b3edb5ce7867201102ef66f362849d9da3fd0 Mon Sep 17 00:00:00 2001 From: Jukka Lehtosalo Date: Thu, 4 May 2023 12:46:11 +0100 Subject: [PATCH] Revert "Fix disappearing errors when re-running dmypy check (#14835)" (#15179) This reverts commit a9ee618f3a941098b24156eb499db5684fcfc261. The original fix doesn't work in all cases. Reverting it since fixing remaining issues is non-trivial, and it's better not to include regressions or partially implemented features in mypy 1.3. See #9655 for context. --- mypy/errors.py | 4 -- mypy/server/update.py | 6 --- test-data/unit/daemon.test | 89 -------------------------------------- 3 files changed, 99 deletions(-) diff --git a/mypy/errors.py b/mypy/errors.py index 7a45972b71a2..9d29259e943c 100644 --- a/mypy/errors.py +++ b/mypy/errors.py @@ -668,8 +668,6 @@ def generate_unused_ignore_errors(self, file: str) -> None: False, False, False, - origin=(self.file, [line]), - target=self.target_module, ) self._add_error_info(file, info) @@ -722,8 +720,6 @@ def generate_ignore_without_code_errors( False, False, 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 8a92fb62e43e..7b439eb0ab9f 100644 --- a/mypy/server/update.py +++ b/mypy/server/update.py @@ -667,8 +667,6 @@ 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() @@ -1030,10 +1028,6 @@ 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()) diff --git a/test-data/unit/daemon.test b/test-data/unit/daemon.test index 785577e7fbe6..c60068a44bec 100644 --- a/test-data/unit/daemon.test +++ b/test-data/unit/daemon.test @@ -522,92 +522,3 @@ class A: x: int class B: x: int - -[case testUnusedTypeIgnorePreservedOnRerun] --- Regression test for https://github.com/python/mypy/issues/9655 -$ dmypy start -- --warn-unused-ignores --no-error-summary -Daemon started -$ dmypy check -- bar.py -bar.py:2: error: Unused "type: ignore" comment [unused-ignore] -== Return code: 1 -$ dmypy check -- bar.py -bar.py:2: error: Unused "type: ignore" comment [unused-ignore] -== Return code: 1 - -[file foo/__init__.py] -[file foo/empty.py] -[file bar.py] -from foo.empty import * -a = 1 # type: ignore - -[case testTypeIgnoreWithoutCodePreservedOnRerun] --- Regression test for https://github.com/python/mypy/issues/9655 -$ dmypy start -- --enable-error-code ignore-without-code --no-error-summary -Daemon started -$ dmypy check -- bar.py -bar.py:2: error: "type: ignore" comment without error code [ignore-without-code] -== Return code: 1 -$ dmypy check -- bar.py -bar.py:2: error: "type: ignore" comment without error code [ignore-without-code] -== Return code: 1 - -[file foo/__init__.py] -[file foo/empty.py] -[file bar.py] -from foo.empty import * -a = 1 # type: ignore - -[case testUnusedTypeIgnorePreservedAfterChange] --- Regression test for https://github.com/python/mypy/issues/9655 -$ dmypy start -- --warn-unused-ignores --no-error-summary -Daemon started -$ dmypy check -- bar.py -bar.py:2: error: Unused "type: ignore" comment [unused-ignore] -== Return code: 1 -$ {python} -c "print('\n')" >> bar.py -$ dmypy check -- bar.py -bar.py:2: error: Unused "type: ignore" comment [unused-ignore] -== Return code: 1 - -[file foo/__init__.py] -[file foo/empty.py] -[file bar.py] -from foo.empty import * -a = 1 # type: ignore - -[case testTypeIgnoreWithoutCodePreservedAfterChange] --- Regression test for https://github.com/python/mypy/issues/9655 -$ dmypy start -- --enable-error-code ignore-without-code --no-error-summary -Daemon started -$ dmypy check -- bar.py -bar.py:2: error: "type: ignore" comment without error code [ignore-without-code] -== Return code: 1 -$ {python} -c "print('\n')" >> bar.py -$ dmypy check -- bar.py -bar.py:2: error: "type: ignore" comment without error code [ignore-without-code] -== Return code: 1 - -[file foo/__init__.py] -[file foo/empty.py] -[file bar.py] -from foo.empty import * -a = 1 # type: ignore - -[case testPossiblyUndefinedVarsPreservedAfterUpdate] --- Regression test for https://github.com/python/mypy/issues/9655 -$ dmypy start -- --enable-error-code possibly-undefined --no-error-summary -Daemon started -$ dmypy check -- bar.py -bar.py:4: error: Name "a" may be undefined [possibly-undefined] -== Return code: 1 -$ dmypy check -- bar.py -bar.py:4: error: Name "a" may be undefined [possibly-undefined] -== Return code: 1 - -[file foo/__init__.py] -[file foo/empty.py] -[file bar.py] -from foo.empty import * -if False: - a = 1 -a