Skip to content

[red-knot] Fix more redundant-cast false positives #17119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 1, 2025
Merged

Conversation

AlexWaygood
Copy link
Member

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 #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:

--project-selector '/(mypy_primer|black|pyp|git-revise|zipp|arrow|isort|itsdangerous|rich|packaging|pybind11|pyinstrument|typeshed-stats)$' \

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.

@AlexWaygood AlexWaygood added the ty Multi-file analysis & type inference label Apr 1, 2025
@AlexWaygood AlexWaygood changed the title Fix more redundant-cast false positives [red-knot] Fix more redundant-cast false positives Apr 1, 2025
Copy link
Contributor

github-actions bot commented Apr 1, 2025

mypy_primer results

No ecosystem changes detected ✅

@AlexWaygood AlexWaygood merged commit c74ba00 into main Apr 1, 2025
23 checks passed
@AlexWaygood AlexWaygood deleted the alex/cast-todos branch April 1, 2025 18:03
dcreager added a commit that referenced this pull request Apr 1, 2025
* main:
  [red-knot] Add property tests for callable types (#17006)
  [red-knot] Disjointness for callable types (#17094)
  [red-knot] Flatten `Type::Callable` into four `Type` variants (#17126)
  mdtest.py: do a full mdtest run immediately when the script is executed (#17128)
  [red-knot] Fix callable subtyping for standard parameters (#17125)
  [red-knot] Fix more `redundant-cast` false positives (#17119)
  Sync vendored typeshed stubs (#17106)
  [red-knot] support Any as a class in typeshed (#17107)
  Visit `Identifier` node as part of the `SourceOrderVisitor` (#17110)
  [red-knot] Don't infer Todo for quite so many tuple type expressions (#17116)
  CI: Run pre-commit on depot machine (#17120)
  Error instead of `panic!` when running Ruff from a deleted directory (#16903) (#17054)
  Control flow graph: setup (#17064)
  [red-knot] Playground improvements (#17109)
  [red-knot] IDE crate (#17045)
  Update dependency vite to v6.2.4 (#17104)
  [red-knot] Add redundant-cast error (#17100)
  [red-knot] Narrowing on `in tuple[...]` and `in str` (#17059)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ty Multi-file analysis & type inference
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants