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.
PEP 695 - Type Parameter Syntax
This PR adds support for parsing and representing Type Parameters and Type Aliases as specified by PEP 695. What's missing are the scope rules, to be implemented in a future PR.
Notable (user visible) changes:
TypeAlias
CST node, which is aSmallStatement
TypeVar
,TypeVarTuple
,ParamSpec
TypeParameters
to serve as a container for multiple TypeVarLikes, andTypeParam
which is a single item in aTypeParameters
(owning the separating comma)FunctionDef
andClassDef
with an optionaltype_parameters
field, as well aswhitespace_after_type_parameters
to own the extra whitespace between type parameters and the following tokenFunctionDef
andClassDef
,whitespace_after_name
now owns the whitespace before the type parameters if they exist