ruff/crates
Alex Waygood c74ba00219
[red-knot] Fix more redundant-cast false positives (#17119)
## Summary

There are quite a few places we infer `Todo` types currently, and some
of them are nested somewhat deeply in type expressions. These can cause
spurious issues for the new `redundant-cast` diagnostics. We fixed all
the false positives we saw in the mypy_primer report before merging
https://github.com/astral-sh/ruff/pull/17100, but I think there are
still lots of places where we'd emit false positives due to this check
-- we currently don't run on that many projects at all in our
mypy_primer check:


d0c8eaa092/.github/workflows/mypy_primer.yaml (L71)

This PR fixes some more false positives from this diagnostic by making
the `Type::contains_todo()` method more expansive.

## Test Plan

I added a regression test which causes us to emit a spurious diagnostic
on `main`, but does not with this PR.
2025-04-01 19:03:42 +01:00
..
red_knot [red-knot] Use web-time instead of FileTime::now (#16967) 2025-03-25 13:03:30 +00:00
red_knot_ide [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_project [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_python_semantic [red-knot] Fix more redundant-cast false positives (#17119) 2025-04-01 19:03:42 +01:00
red_knot_server [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_test [red-knot] Add line number to mdtest panic message about language tag mismatch (#16906) 2025-03-22 13:05:31 +01:00
red_knot_vendored Sync vendored typeshed stubs (#17106) 2025-04-01 17:44:27 +01:00
red_knot_wasm [red-knot] Playground improvements (#17109) 2025-04-01 10:04:51 +02:00
ruff Error instead of panic! when running Ruff from a deleted directory (#16903) (#17054) 2025-04-01 14:17:07 +02:00
ruff_annotate_snippets Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_benchmark [red-knot] Add initial support for * imports (#16923) 2025-03-24 17:15:58 +00:00
ruff_cache
ruff_db [red-knot] Use web-time instead of FileTime::now (#16967) 2025-03-25 13:03:30 +00:00
ruff_dev Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_diagnostics
ruff_formatter Fixing more spelling errors (#16926) 2025-03-23 10:55:14 -07:00
ruff_graph Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_index [red-knot] Don't use separate ID types for each alist (#16415) 2025-02-28 14:55:55 -05:00
ruff_linter Visit Identifier node as part of the SourceOrderVisitor (#17110) 2025-04-01 16:58:09 +02:00
ruff_macros
ruff_notebook bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast Visit Identifier node as part of the SourceOrderVisitor (#17110) 2025-04-01 16:58:09 +02:00
ruff_python_ast_integration_tests Visit Identifier node as part of the SourceOrderVisitor (#17110) 2025-04-01 16:58:09 +02:00
ruff_python_codegen Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_formatter Visit Identifier node as part of the SourceOrderVisitor (#17110) 2025-04-01 16:58:09 +02:00
ruff_python_index
ruff_python_literal
ruff_python_parser Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_resolver Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_semantic Control flow graph: setup (#17064) 2025-04-01 05:53:42 -05:00
ruff_python_stdlib
ruff_python_trivia [red-knot] Ignore surrounding whitespace when looking for <!-- snapshot-diagnostics --> directives in mdtests (#16380) 2025-02-27 13:25:31 +00:00
ruff_python_trivia_integration_tests Pass ParserOptions to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_server Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_source_file
ruff_text_size
ruff_wasm Bump 0.11.2 (#16896) 2025-03-21 09:17:07 -04:00
ruff_workspace Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00