Skip to content

Comments

[ty] Enable unused-ignore-comment by default#22474

Merged
MichaReiser merged 4 commits intomainfrom
micha/enable-unused-type-ignore
Jan 9, 2026
Merged

[ty] Enable unused-ignore-comment by default#22474
MichaReiser merged 4 commits intomainfrom
micha/enable-unused-type-ignore

Conversation

@MichaReiser
Copy link
Member

Summary

Closes astral-sh/ty#278

@MichaReiser MichaReiser added the configuration Related to settings and configuration label Jan 9, 2026
@MichaReiser MichaReiser requested a review from carljm as a code owner January 9, 2026 09:29
@MichaReiser MichaReiser added the ty Multi-file analysis & type inference label Jan 9, 2026
@MichaReiser MichaReiser added configuration Related to settings and configuration ty Multi-file analysis & type inference labels Jan 9, 2026
@astral-sh-bot
Copy link

astral-sh-bot bot commented Jan 9, 2026

Diagnostic diff on typing conformance tests

Changes were detected when running ty on typing conformance tests
--- old-output.txt	2026-01-09 10:56:08.437298717 +0000
+++ new-output.txt	2026-01-09 10:56:08.736299323 +0000
@@ -228,6 +228,7 @@
 constructors_call_new.py:125:42: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `Self@__new__`
 constructors_call_new.py:140:47: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `Class11[int]`
 constructors_call_new.py:145:1: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `type[Class11[int]]`, found `<class 'Class11[str]'>`
+constructors_call_type.py:19:55: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
 constructors_call_type.py:40:5: error[missing-argument] No arguments provided for required parameters `x`, `y` of function `__new__`
 constructors_call_type.py:50:5: error[missing-argument] No arguments provided for required parameters `x`, `y` of bound method `__init__`
 constructors_call_type.py:59:9: error[too-many-positional-arguments] Too many positional arguments to bound method `__init__`: expected 1, got 2
@@ -391,6 +392,11 @@
 directives_reveal_type.py:19:5: error[missing-argument] No argument provided for required parameter `obj` of function `reveal_type`
 directives_reveal_type.py:20:20: error[too-many-positional-arguments] Too many positional arguments to function `reveal_type`: expected 1, got 2
 directives_type_checking.py:11:14: error[invalid-assignment] Object of type `Literal[""]` is not assignable to `int`
+directives_type_ignore_file1.py:11:7: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+directives_type_ignore_file1.py:14:17: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+directives_type_ignore_file2.py:7:1: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+directives_type_ignore_file2.py:9:7: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+directives_type_ignore_file2.py:12:17: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
 directives_type_ignore_file2.py:14:10: error[invalid-assignment] Object of type `Literal[""]` is not assignable to `int`
 directives_version_platform.py:14:17: error[invalid-assignment] Object of type `Literal[""]` is not assignable to `int`
 directives_version_platform.py:19:17: error[invalid-assignment] Object of type `Literal[""]` is not assignable to `int`
@@ -1023,4 +1029,4 @@
 typeddicts_usage.py:28:17: error[missing-typed-dict-key] Missing required key 'name' in TypedDict `Movie` constructor
 typeddicts_usage.py:28:18: error[invalid-key] Unknown key "title" for TypedDict `Movie`: Unknown key "title"
 typeddicts_usage.py:40:24: error[invalid-type-form] The special form `typing.TypedDict` is not allowed in type expressions
-Found 1025 diagnostics
+Found 1031 diagnostics

@astral-sh-bot
Copy link

astral-sh-bot bot commented Jan 9, 2026

mypy_primer results

Changes were detected when running on open source projects
zipp (https://github.com/jaraco/zipp)
+ zipp/compat/py310.py:10:23: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 3 diagnostics
+ Found 4 diagnostics

pyp (https://github.com/hauntsaninja/pyp)
+ pyp.py:20:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyp.py:637:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyp.py:639:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 2 diagnostics
+ Found 5 diagnostics

pegen (https://github.com/we-like-parsers/pegen)
+ src/pegen/web.py:37:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 47 diagnostics
+ Found 48 diagnostics

dacite (https://github.com/konradhalas/dacite)
+ dacite/config.py:8:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/config.py:11:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/data.py:2:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/data.py:4:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/dataclasses.py:17:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/dataclasses.py:18:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/generics.py:10:55: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/generics.py:12:66: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/types.py:5:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/types.py:7:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/types.py:47:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ dacite/types.py:62:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 10 diagnostics
+ Found 22 diagnostics

packaging (https://github.com/pypa/packaging)
+ src/packaging/pylock.py:106:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:179:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:191:60: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:278:21: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:346:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:374:79: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:388:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:416:79: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:429:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:457:79: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:517:70: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:525:90: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:526:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:567:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:568:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/packaging/pylock.py:606:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 7 diagnostics
+ Found 23 diagnostics

aioredis (https://github.com/aio-libs/aioredis)
+ aioredis/client.py:94:21: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ aioredis/client.py:4116:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ aioredis/client.py:4152:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ aioredis/connection.py:136:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ aioredis/connection.py:806:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ aioredis/utils.py:45:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 24 diagnostics
+ Found 30 diagnostics

anyio (https://github.com/agronholm/anyio)
+ src/anyio/_backends/_asyncio.py:1128:64: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_backends/_asyncio.py:2439:43: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_backends/_asyncio.py:2616:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_backends/_trio.py:187:86: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_backends/_trio.py:361:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_fileio.py:502:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_fileio.py:693:21: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_streams.py:36:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:295:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:298:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:342:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:356:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:363:43: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:423:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/_core/_tempfile.py:451:49: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/from_thread.py:276:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/functools.py:213:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/functools.py:230:82: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/functools.py:234:13: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/functools.py:262:17: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/functools.py:319:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/anyio/to_process.py:44:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 71 diagnostics
+ Found 93 diagnostics

parso (https://github.com/davidhalter/parso)
+ parso/grammar.py:109:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ parso/grammar.py:116:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ parso/grammar.py:135:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ parso/grammar.py:147:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ parso/grammar.py:163:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 194 diagnostics
+ Found 199 diagnostics

com2ann (https://github.com/ilevkivskyi/com2ann)
+ src/com2ann.py:668:26: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 9 diagnostics
+ Found 10 diagnostics

paroxython (https://github.com/laowantong/paroxython)
+ paroxython/parse_program.py:288:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 7 diagnostics
+ Found 8 diagnostics

nionutils (https://github.com/nion-software/nionutils)
+ nion/utils/StructuredModel.py:247:56: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ nion/utils/ThreadPool.py:30:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 21 diagnostics
+ Found 23 diagnostics

pyinstrument (https://github.com/joerick/pyinstrument)
+ pyinstrument/__main__.py:284:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/__main__.py:612:77: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/frame.py:346:89: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/magic/magic.py:54:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/magic/magic.py:289:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/middleware.py:37:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/middleware.py:108:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/middleware.py:112:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/processors.py:90:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/renderers/jsonrenderer.py:17:81: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ pyinstrument/stack_sampler.py:102:83: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 32 diagnostics
+ Found 43 diagnostics

kornia (https://github.com/kornia/kornia)
+ kornia/augmentation/_2d/mix/base.py:194:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/_2d/mix/transplantation.py:196:119: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/_2d/mix/transplantation.py:202:118: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/_2d/mix/transplantation.py:299:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/_3d/mix/transplantation.py:24:76: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/auto/base.py:44:89: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:301:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:322:85: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:324:90: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:337:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:344:99: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:428:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:444:85: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:446:90: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:466:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/augment.py:474:99: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/base.py:323:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/ops.py:151:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/ops.py:153:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/ops.py:512:30: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:170:55: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:262:85: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:337:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:347:26: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:355:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:363:25: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:371:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:379:25: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:387:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:395:29: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:403:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/patch.py:419:109: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/video.py:288:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/video.py:308:25: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/video.py:328:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/container/video.py:351:29: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/presets/ada.py:246:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/presets/ada.py:290:35: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/random_generator/base.py:111:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/augmentation/random_generator/base.py:117:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/constants.py:35:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/constants.py:38:59: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/boxmot_tracker.py:128:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/boxmot_tracker.py:141:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/edge_detection.py:123:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/edge_detection.py:166:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/edge_detection.py:174:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/object_detection.py:189:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/object_detection.py:224:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/object_detection.py:232:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/object_detection.py:281:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:79:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:123:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:130:30: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:171:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:175:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:179:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/super_resolution.py:183:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:356:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:366:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:376:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:388:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:397:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/contrib/visual_prompter.py:406:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:69:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:70:93: warning[unused-ignore-comment] Unused `ty: ignore` directive
+ kornia/core/mixin/image_module.py:72:60: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:117:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:119:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:141:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:145:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:146:82: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:149:48: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:161:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:163:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:164:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:167:49: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:181:59: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:184:74: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:187:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:189:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:199:99: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:226:108: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/image_module.py:229:108: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:76:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:133:29: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:134:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:135:27: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:139:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:147:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:172:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:174:66: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:175:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:190:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:191:101: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:192:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:199:68: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:209:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:274:67: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:296:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:298:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:311:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:317:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:319:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:339:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:341:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:360:92: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:363:87: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:368:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:374:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:387:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:391:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:393:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:408:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:411:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:423:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:424:81: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:426:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/core/mixin/onnx.py:429:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/decoder.py:33:121: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/decoder.py:65:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/decoder.py:101:24: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/dedode.py:234:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/dedode.py:235:54: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/descriptor.py:31:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/detector.py:31:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/detector.py:55:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/encoder.py:36:64: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/encoder.py:41:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/encoder.py:79:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/encoder.py:92:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/transformer/layers/attention.py:93:62: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/transformer/layers/drop_path.py:39:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/utils.py:42:75: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/dedode/utils.py:43:87: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/integrated.py:482:93: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:42:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:158:88: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:167:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:248:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:250:111: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:287:43: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:478:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:490:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:550:67: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:554:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:556:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:579:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:593:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:594:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:671:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue.py:679:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:32:16: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:68:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:149:82: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:150:82: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:152:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:153:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:155:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/lightglue_onnx/lightglue.py:156:91: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/loftr/loftr.py:208:95: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/loftr/utils/coarse_matching.py:272:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/matching.py:566:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/siftdesc.py:41:50: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/siftdesc.py:42:49: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/sold2/backbones.py:175:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/sold2/backbones.py:177:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/sold2/backbones.py:182:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/feature/sold2/backbones.py:183:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/filters/dissolving.py:234:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/filters/dissolving.py:256:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/filters/dissolving.py:261:73: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/filters/dissolving.py:266:75: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/boxes.py:747:23: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/boxes.py:764:92: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/keypoints.py:217:49: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/liegroup/so3.py:176:56: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/transform/crop2d.py:470:55: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/transform/crop2d.py:472:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/transform/crop2d.py:476:118: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/geometry/vector.py:24:62: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:67:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:85:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:87:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:102:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:103:59: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:104:60: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/_hf_models/hf_onnx_community.py:142:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/base.py:45:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/depth_estimation/base.py:36:118: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/depth_estimation/base.py:73:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/efficient_vit/backbone.py:28:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/efficient_vit/nn/act.py:36:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/efficient_vit/nn/ops.py:22:1: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/efficient_vit/utils/network.py:30:69: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/rt_detr/model.py:254:55: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/segmentation/base.py:149:71: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/segmentation/segmentation_models.py:72:79: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/models/tiny_vit.py:551:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/module.py:48:43: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/module.py:50:64: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/module.py:65:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/module.py:71:110: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/module.py:75:67: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:54:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:56:64: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:74:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:77:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:103:90: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:108:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/sequential.py:114:110: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:71:121: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:104:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:125:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:128:43: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:142:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:171:35: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:173:24: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:206:35: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/onnx/utils.py:208:24: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/transpiler/transpiler.py:53:8: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/transpiler/transpiler.py:86:8: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ kornia/transpiler/transpiler.py:116:8: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 101 diagnostics
+ Found 324 diagnostics

DateType (https://github.com/glyph/DateType)
+ src/datetype/__init__.py:29:64: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/datetype/__init__.py:518:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/datetype/__init__.py:606:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 5 diagnostics
+ Found 8 diagnostics

pip (https://github.com/pypa/pip)
+ src/pip/__pip-runner__.py:15:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/__pip-runner__.py:38:61: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/utils/misc.py:128:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/utils/misc.py:130:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/utils/misc.py:384:33: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/utils/misc.py:557:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/utils/unpacking.py:180:59: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/vcs/versioncontrol.py:550:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/wheel_builder.py:253:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_internal/wheel_builder.py:258:62: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/cachecontrol/adapter.py:129:54: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/cachecontrol/adapter.py:162:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/cachecontrol/adapter.py:168:26: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/cachecontrol/serialize.py:35:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/dependency_groups/_toml_compat.py:5:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/distro/distro.py:633:29: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/packaging/specifiers.py:248:16: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/pkg_resources/__init__.py:541:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/pkg_resources/__init__.py:1907:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/pkg_resources/__init__.py:1961:63: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/rich/color.py:616:54: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/rich/pretty.py:230:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/tomli/_parser.py:297:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/__init__.py:23:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/__init__.py:33:17: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_api.py:80:16: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_macos.py:295:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_macos.py:311:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_macos.py:334:20: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_macos.py:364:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_windows.py:420:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/pip/_vendor/truststore/_windows.py:510:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 578 diagnostics
+ Found 610 diagnostics

bandersnatch (https://github.com/pypa/bandersnatch)
+ src/bandersnatch_filter_plugins/metadata_filter.py:109:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/bandersnatch_filter_plugins/metadata_filter.py:110:26: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 78 diagnostics
+ Found 80 diagnostics

asynq (https://github.com/quora/asynq)
+ asynq/decorators.pyi:81:40: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/decorators.pyi:108:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tests/test_base.py:17:14: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tests/test_performance.py:20:14: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tests/test_tools.py:183:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tests/test_typing.py:47:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tools.pyi:89:49: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ asynq/tools.pyi:91:54: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 209 diagnostics
+ Found 217 diagnostics

isort (https://github.com/pycqa/isort)
+ isort/exceptions.py:13:28: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/main.py:1219:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/output.py:463:88: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/output.py:522:97: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/output.py:548:70: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/output.py:555:74: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/settings.py:157:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/settings.py:261:81: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/settings.py:262:70: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/wrap.py:74:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/wrap.py:119:61: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/wrap.py:120:59: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/wrap.py:141:102: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ isort/wrap_modes.py:373:25: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 21 diagnostics
+ Found 35 diagnostics

stone (https://github.com/dropbox/stone)
+ test/backend_test_util.py:24:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ test/test_python_type_stubs.py:13:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ test/test_tsd_types.py:23:74: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 249 diagnostics
+ Found 252 diagnostics

aiortc (https://github.com/aiortc/aiortc)
+ src/aiortc/contrib/media.py:515:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/aiortc/jitterbuffer.py:81:69: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/aiortc/rtcsctptransport.py:142:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/aiortc/rtcsctptransport.py:233:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/aiortc/rtcsctptransport.py:275:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/aiortc/rtcsctptransport.py:361:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 188 diagnostics
+ Found 194 diagnostics

twine (https://github.com/pypa/twine)
+ twine/package.py:264:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 9 diagnostics
+ Found 10 diagnostics

werkzeug (https://github.com/pallets/werkzeug)
+ src/werkzeug/_internal.py:59:35: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_internal.py:64:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_internal.py:175:23: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_reloader.py:248:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_reloader.py:328:72: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_reloader.py:341:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/_reloader.py:370:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/accept.py:259:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/accept.py:264:78: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/accept.py:269:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/cache_control.py:157:86: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/file_storage.py:198:30: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:108:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:120:15: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:487:78: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:602:19: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:605:56: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:637:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/headers.py:639:45: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/mixins.py:102:54: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/mixins.py:260:48: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/mixins.py:309:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/range.py:134:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:45:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:65:18: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:119:89: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:205:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:210:36: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:236:31: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:237:32: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:246:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:256:52: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:279:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:308:51: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:323:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:347:65: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:349:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:360:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:372:46: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:379:42: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:390:34: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:446:18: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:496:37: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:513:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:530:38: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:535:39: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:648:22: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:664:58: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:723:47: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:756:78: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:775:44: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:816:75: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:856:18: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:906:18: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:936:41: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
+ src/werkzeug/datastructures/structures.py:961

... (truncated 10180 lines) ...

No memory usage changes detected ✅

@MichaReiser MichaReiser requested a review from Gankra as a code owner January 9, 2026 10:17
@MichaReiser
Copy link
Member Author

The typing conformance results are a bit funny. ty picks up the nested type: ignore comments in the explanation of the conformance test:

# > A # type: ignore comment on a line by itself at the top of a file, before any
# > docstrings, imports, or other executable code, silences all errors in the file.
# > Blank lines and other comments, such as shebang lines and coding cookies, may
# > precede the # type: ignore comment.

I think that's fine

@MichaReiser
Copy link
Member Author

Hmm, why do we see changes on mypy primer. Does our mypy primer override no longer work?

Copy link
Member

@AlexWaygood AlexWaygood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. I still think a subdiagnostic that mentions the config option would be good, if we're emitting the diagnostic on a type: ignore comment rather than a ty: ignore comment. And I think we should definitely mention the config option in the docs for the rule.

@@ -24,10 +24,10 @@ use crate::{Db, declare_lint, lint::LintId};

declare_lint! {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention and link to the configuration option in the docs here, in case users get confused about ty complaining about ignore comments they have in place for other type checkers

@MichaReiser
Copy link
Member Author

Nice. I still think a subdiagnostic that mentions the config option would be good, if we're emitting the diagnostic on a type: ignore comment rather than a ty: ignore comment

This seems noisy to me. It's an extra line that you always see.

@AlexWaygood
Copy link
Member

We can consider it separately, it doesn't need to block this

@MichaReiser
Copy link
Member Author

Ahh no. The reason we see the mypy primer changes is because we use the same (the new) configuration for both the baseline and the new ty binary but the old ty binary required explicilty enabling the rule

@MichaReiser MichaReiser enabled auto-merge (squash) January 9, 2026 10:54
@MichaReiser MichaReiser merged commit e61657f into main Jan 9, 2026
47 checks passed
@MichaReiser MichaReiser deleted the micha/enable-unused-type-ignore branch January 9, 2026 10:58
NickButcher1 added a commit to Oxford-Bee-Ops/expidite that referenced this pull request Jan 11, 2026
They enabled unused-type-ignore-comment as per astral-sh/ruff#22474 which required a few code changes:
- cloud_connector - simplify and prefer match over mutliple if tests anyway for an enum
- remove several ignores which were simply not needed any more (ty correctly doing its job!)
- dp_node - correctly set a type to include None
- edge_orchestrator remove unused __new__ - the same function (which IS used) is in get_instance()
- add some types where missing
@Dris101
Copy link

Dris101 commented Jan 12, 2026

Isn't the rule unused-ignore-comment rather than unused-type-ignore-comment?

@AlexWaygood AlexWaygood changed the title [ty] Enable unused-type-ignore-comment by default [ty] Enable unused-ignore-comment by default Jan 12, 2026
@Dris101
Copy link

Dris101 commented Jan 12, 2026

It's also unused-type-ignore-comment in the release notes for 0.0.11

@AlexWaygood
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

configuration Related to settings and configuration ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make unused-ignore-comment enabled by default

3 participants