Skip to content

Commit 8e6c9b7

Browse files
fix the problem, add another test
1 parent f4ae759 commit 8e6c9b7

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

mypy/errors.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -806,8 +806,8 @@ def generate_unused_ignore_errors(self, file: str) -> None:
806806
continue
807807
if codes.UNUSED_IGNORE.code in ignored_codes:
808808
continue
809-
used_ignored_codes = used_ignored_lines[line]
810-
unused_ignored_codes = set(ignored_codes) - set(used_ignored_codes)
809+
used_ignored_codes = set(used_ignored_lines[line])
810+
unused_ignored_codes = [c for c in ignored_codes if c not in used_ignored_codes]
811811
# `ignore` is used
812812
if not ignored_codes and used_ignored_codes:
813813
continue
@@ -817,7 +817,7 @@ def generate_unused_ignore_errors(self, file: str) -> None:
817817
# Display detail only when `ignore[...]` specifies more than one error code
818818
unused_codes_message = ""
819819
if len(ignored_codes) > 1 and unused_ignored_codes:
820-
unused_codes_message = f"[{', '.join(sorted(unused_ignored_codes))}]"
820+
unused_codes_message = f"[{', '.join(unused_ignored_codes)}]"
821821
message = f'Unused "type: ignore{unused_codes_message}" comment'
822822
for unused in unused_ignored_codes:
823823
narrower = set(used_ignored_codes) & codes.sub_code_map[unused]

test-data/unit/check-ignore.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,8 @@ class CD(six.with_metaclass(M)): # E: Multiple metaclass definitions
282282
5 # type: ignore[steven, import] # E: Unused "type: ignore[steven, import]" comment
283283
-- Spacing is not preserved
284284
5 # type: ignore[ steven, import ] # E: Unused "type: ignore[steven, import]" comment
285+
-- Make sure it works as intended in more complex situations
286+
1 + "ok" + "ok".foo # type: ignore[ operator,steven,attr-defined, import] # E: Unused "type: ignore[steven, import]" comment
285287

286288
[case testUnusedIgnoreTryExcept]
287289
# flags: --warn-unused-ignores

0 commit comments

Comments
 (0)