[ty] Emit an error if a TypeVarTuple is used to subscript Generic or Protocol without being unpacked - #22952
Merged
Merged
Conversation
AlexWaygood
force-pushed
the
alex/invalid-tvartuple-class
branch
from
January 29, 2026 19:14
bd0558a to
c592c1b
Compare
Typing conformance results improved 🎉The percentage of diagnostics emitted that were expected errors increased from 81.24% to 81.26%. The percentage of expected errors that received a diagnostic increased from 71.32% to 71.42%. Summary
True positives addedDetails
|
|
AlexWaygood
marked this pull request as ready for review
January 29, 2026 19:20
AlexWaygood
requested review from
carljm,
dcreager and
sharkdp
as code owners
January 29, 2026 19:20
charliermarsh
approved these changes
Jan 29, 2026
…r `Protocol` without being unpacked
AlexWaygood
force-pushed
the
alex/invalid-tvartuple-class
branch
from
January 29, 2026 22:29
c592c1b to
1f689bf
Compare
AlexWaygood
enabled auto-merge (squash)
January 29, 2026 22:30
carljm
added a commit
that referenced
this pull request
Jan 30, 2026
* main: (76 commits) [ty] Improve the check for `NewType`s with generic bases (#22961) [ty] Ban legacy `TypeVar` bounds or constraints from containing type variables (#22949) Bump the typing conformance suite pin (#22960) [ty] Emit an error if a TypeVarTuple is used to subscript `Generic` or `Protocol` without being unpacked (#22952) [ty] Reduce false positives when subscripting classes generic over `TypeVarTuple`s (#22950) [ty] Detect invalid attempts to subclass `Protocol[]` and `Generic[]` simultaneously (#22948) Fix suppression indentation matching (#22903) Remove hidden `--output-format` warning (#22944) [ty] Validate signatures of dataclass `__post_init__` methods (#22730) [ty] extend special-cased `numbers` diagnostic to `invalid-argument-type` errors (#22938) [ty] Avoid false positive for `not-iterable` with no-positive intersection types (#22089) [ty] Preserve pure negation types in descriptor protocol (#22907) [ty] add special-case diagnostic for `numbers` module (#22931) [ty] Move the location of more `invalid-overload` diagnostics (#22933) [ty] Fix unary and comparison operators for TypeVars with union bounds (#22925) [ty] Rule Selection: ignore/warn/select all rules (unless subsequently overriden) (#22832) [ty] Fix TypedDict construction from existing TypedDict values (#22904) [ty] fix bug in string annotations and clean up diagnostics (#22913) [ty] Improve support for goto-type, goto-declaration, hover, and highlighting of string annotations (#22878) [ty] Rename old typing imports to new on `unresolved-reference`. (#22827) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
(Stacked on top of #22950; review that PR first)
Summary
This is an error.
The way this is implemented feels a bit awkwardly special-cased, but I think it will have to be awkwardly special-cased even after we add proper support for
TypeVarTuple?Test Plan
mdtests