[red-knot] Fix more redundant-cast
false positives
#17119
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 newredundant-cast
diagnostics. We fixed all the false positives we saw in the mypy_primer report before merging #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:ruff/.github/workflows/mypy_primer.yaml
Line 71 in d0c8eaa
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.