diff --git a/mypy/errors.py b/mypy/errors.py index 4cdeb54f823a2..80b20469049e4 100644 --- a/mypy/errors.py +++ b/mypy/errors.py @@ -503,6 +503,9 @@ def add_error_info(self, info: ErrorInfo) -> None: self.used_ignored_lines[file][scope_line].append( (info.code or codes.MISC).code ) + if file not in self.ignored_files: + info.hidden = True + self._add_error_info(file, info) return if file in self.ignored_files: return @@ -804,8 +807,9 @@ def blocker_module(self) -> str | None: return None def is_errors_for_file(self, file: str) -> bool: - """Are there any errors for the given file?""" - return file in self.error_info_map + """Are there any visible errors for the given file?""" + errors = self.error_info_map.get(file, []) + return any(error.hidden is False for error in errors) def prefer_simple_messages(self) -> bool: """Should we generate simple/fast error messages?