8000 Allow type declarations on rest parameters · kaizhi-singtown/python@ac7539e · GitHub
[go: up one dir, main page]

Skip to content

Commit ac7539e

Browse files
committed
Allow type declarations on rest parameters
FIX: Allow type declarations on rest parameters. Closes codemirror/dev#1536
1 parent b30dd80 commit ac7539e

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/python.grammar

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ MappingPattern { "{" commaSep<"**" pattern | (VariableName | LiteralPattern) ":"
7474

7575
ClassDefinition { kw<"class"> VariableName TypeParamList? ArgList? Body }
7676

77-
param { VariableName TypeDef? (AssignOp{"="} test)? | "*" VariableName? | "**" VariableName | "/" }
77+
param { VariableName TypeDef? (AssignOp{"="} test)? | "*" (VariableName TypeDef?)? | "**" VariableName TypeDef? | "/" }
7878

7979
TypeDef { ":" test }
8080

test/statement.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,3 +422,15 @@ type Point = tuple[float, float]
422422
==>
423423

424424
Script(TypeDefinition(type,VariableName,MemberExpression(VariableName,VariableName,",",VariableName)))
425+
426+
# Rest arg with type
427+
428+
def f(*args: tuple[int]) -> int:
429+
return 1
430+
431+
==>
432+
433+
Script(FunctionDefinition(def,VariableName,
434+
ParamList(VariableName,TypeDef(MemberExpression(VariableName,VariableName))),
435+
TypeDef(VariableName),
436+
Body(ReturnStatement(return,Number))))

0 commit comments

Comments
 (0)
0