Fix incorrect Parameter range for *args and **kwargs (#10283)

## Summary

Fix #10282 

This PR updates the Python grammar to include the `*` character in
`*args` `**kwargs` in the range of the `Parameter`
```
def f(*args, **kwargs): pass
#      ~~~~    ~~~~~~    <-- range before the PR
#     ^^^^^  ^^^^^^^^    <-- range after
```

The invalid syntax `def f(*, **kwargs): ...` is also now correctly
reported.

## Test Plan

Test cases were added to `function.rs`.
This commit is contained in:
Gautier Moin 2024-03-09 00:57:49 +01:00 committed by GitHub
parent b64f2ea401
commit a067d87ccc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 28521 additions and 28529 deletions

View file

@ -0,0 +1,100 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..39,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..33,
posonlyargs: [],
args: [],
vararg: None,
kwonlyargs: [
ParameterWithDefault {
range: 9..10,
parameter: Parameter {
range: 9..10,
name: Identifier {
id: "a",
range: 9..10,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 12..16,
parameter: Parameter {
range: 12..13,
name: Identifier {
id: "b",
range: 12..13,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 14..16,
value: Int(
20,
),
},
),
),
},
ParameterWithDefault {
range: 18..22,
parameter: Parameter {
range: 18..19,
name: Identifier {
id: "c",
range: 18..19,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 20..22,
value: Int(
30,
),
},
),
),
},
],
kwarg: Some(
Parameter {
range: 24..32,
name: Identifier {
id: "kwargs",
range: 26..32,
},
annotation: None,
},
),
},
returns: None,
body: [
Pass(
StmtPass {
range: 35..39,
},
),
],
},
),
],
)

View file

@ -0,0 +1,100 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..33,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..27,
posonlyargs: [],
args: [],
vararg: Some(
Parameter {
range: 6..11,
name: Identifier {
id: "args",
range: 7..11,
},
annotation: None,
},
),
kwonlyargs: [
ParameterWithDefault {
range: 13..14,
parameter: Parameter {
range: 13..14,
name: Identifier {
id: "a",
range: 13..14,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 16..20,
parameter: Parameter {
range: 16..17,
name: Identifier {
id: "b",
range: 16..17,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 18..20,
value: Int(
20,
),
},
),
),
},
ParameterWithDefault {
range: 22..26,
parameter: Parameter {
range: 22..23,
name: Identifier {
id: "c",
range: 22..23,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 24..26,
value: Int(
30,
),
},
),
),
},
],
kwarg: None,
},
returns: None,
body: [
Pass(
StmtPass {
range: 29..33,
},
),
],
},
),
],
)

View file

@ -0,0 +1,109 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..43,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..37,
posonlyargs: [],
args: [],
vararg: Some(
Parameter {
range: 6..11,
name: Identifier {
id: "args",
range: 7..11,
},
annotation: None,
},
),
kwonlyargs: [
ParameterWithDefault {
range: 13..14,
parameter: Parameter {
range: 13..14,
name: Identifier {
id: "a",
range: 13..14,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 16..20,
parameter: Parameter {
range: 16..17,
name: Identifier {
id: "b",
range: 16..17,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 18..20,
value: Int(
20,
),
},
),
),
},
ParameterWithDefault {
range: 22..26,
parameter: Parameter {
range: 22..23,
name: Identifier {
id: "c",
range: 22..23,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 24..26,
value: Int(
30,
),
},
),
),
},
],
kwarg: Some(
Parameter {
range: 28..36,
name: Identifier {
id: "kwargs",
range: 30..36,
},
annotation: None,
},
),
},
returns: None,
body: [
Pass(
StmtPass {
range: 39..43,
},
),
],
},
),
],
)

View file

@ -6,7 +6,7 @@ Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..32,
range: 0..35,
is_async: false,
decorator_list: [],
name: Identifier {
@ -15,9 +15,8 @@ Ok(
},
type_params: None,
parameters: Parameters {
range: 5..26,
posonlyargs: [],
args: [
range: 5..29,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
@ -42,13 +41,15 @@ Ok(
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 12..13,
range: 15..16,
parameter: Parameter {
range: 12..13,
range: 15..16,
name: Identifier {
id: "c",
range: 12..13,
range: 15..16,
},
annotation: None,
},
@ -57,24 +58,12 @@ Ok(
],
vararg: None,
kwonlyargs: [
ParameterWithDefault {
range: 18..19,
parameter: Parameter {
range: 18..19,
name: Identifier {
id: "d",
range: 18..19,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 21..22,
parameter: Parameter {
range: 21..22,
name: Identifier {
id: "e",
id: "d",
range: 21..22,
},
annotation: None,
@ -86,13 +75,25 @@ Ok(
parameter: Parameter {
range: 24..25,
name: Identifier {
id: "f",
id: "e",
range: 24..25,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 27..28,
parameter: Parameter {
range: 27..28,
name: Identifier {
id: "f",
range: 27..28,
},
annotation: None,
},
default: None,
},
],
kwarg: None,
},
@ -100,7 +101,7 @@ Ok(
body: [
Pass(
StmtPass {
range: 28..32,
range: 31..35,
},
),
],

View file

@ -6,7 +6,7 @@ Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..38,
range: 0..41,
is_async: false,
decorator_list: [],
name: Identifier {
@ -15,9 +15,8 @@ Ok(
},
type_params: None,
parameters: Parameters {
range: 5..32,
posonlyargs: [],
args: [
range: 5..35,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
@ -42,13 +41,15 @@ Ok(
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 12..13,
range: 15..16,
parameter: Parameter {
range: 12..13,
range: 15..16,
name: Identifier {
id: "c",
range: 12..13,
range: 15..16,
},
annotation: None,
},
@ -58,31 +59,31 @@ Ok(
vararg: None,
kwonlyargs: [
ParameterWithDefault {
range: 18..19,
range: 21..22,
parameter: Parameter {
range: 18..19,
range: 21..22,
name: Identifier {
id: "d",
range: 18..19,
range: 21..22,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 21..25,
range: 24..28,
parameter: Parameter {
range: 21..22,
range: 24..25,
name: Identifier {
id: "e",
range: 21..22,
range: 24..25,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 23..25,
range: 26..28,
value: Int(
20,
),
@ -91,19 +92,19 @@ Ok(
),
},
ParameterWithDefault {
range: 27..31,
range: 30..34,
parameter: Parameter {
range: 27..28,
range: 30..31,
name: Identifier {
id: "f",
range: 27..28,
range: 30..31,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 29..31,
range: 32..34,
value: Int(
30,
),
@ -118,7 +119,7 @@ Ok(
body: [
Pass(
StmtPass {
range: 34..38,
range: 37..41,
},
),
],

View file

@ -0,0 +1,138 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..51,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..45,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
range: 6..7,
name: Identifier {
id: "a",
range: 6..7,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 9..10,
parameter: Parameter {
range: 9..10,
name: Identifier {
id: "b",
range: 9..10,
},
annotation: None,
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 15..16,
parameter: Parameter {
range: 15..16,
name: Identifier {
id: "c",
range: 15..16,
},
annotation: None,
},
default: None,
},
],
vararg: None,
kwonlyargs: [
ParameterWithDefault {
range: 21..22,
parameter: Parameter {
range: 21..22,
name: Identifier {
id: "d",
range: 21..22,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 24..28,
parameter: Parameter {
range: 24..25,
name: Identifier {
id: "e",
range: 24..25,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 26..28,
value: Int(
20,
),
},
),
),
},
ParameterWithDefault {
range: 30..34,
parameter: Parameter {
range: 30..31,
name: Identifier {
id: "f",
range: 30..31,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 32..34,
value: Int(
30,
),
},
),
),
},
],
kwarg: Some(
Parameter {
range: 36..44,
name: Identifier {
id: "kwargs",
range: 38..44,
},
annotation: None,
},
),
},
returns: None,
body: [
Pass(
StmtPass {
range: 47..51,
},
),
],
},
),
],
)

View file

@ -6,7 +6,7 @@ Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..42,
range: 0..45,
is_async: false,
decorator_list: [],
name: Identifier {
@ -15,9 +15,8 @@ Ok(
},
type_params: None,
parameters: Parameters {
range: 5..36,
posonlyargs: [],
args: [
range: 5..39,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
@ -42,13 +41,15 @@ Ok(
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 12..13,
range: 15..16,
parameter: Parameter {
range: 12..13,
range: 15..16,
name: Identifier {
id: "c",
range: 12..13,
range: 15..16,
},
annotation: None,
},
@ -57,41 +58,41 @@ Ok(
],
vararg: Some(
Parameter {
range: 16..20,
range: 18..23,
name: Identifier {
id: "args",
range: 16..20,
range: 19..23,
},
annotation: None,
},
),
kwonlyargs: [
ParameterWithDefault {
range: 22..23,
range: 25..26,
parameter: Parameter {
range: 22..23,
range: 25..26,
name: Identifier {
id: "d",
range: 22..23,
range: 25..26,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 25..29,
range: 28..32,
parameter: Parameter {
range: 25..26,
range: 28..29,
name: Identifier {
id: "e",
range: 25..26,
range: 28..29,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 27..29,
range: 30..32,
value: Int(
20,
),
@ -100,19 +101,19 @@ Ok(
),
},
ParameterWithDefault {
range: 31..35,
range: 34..38,
parameter: Parameter {
range: 31..32,
range: 34..35,
name: Identifier {
id: "f",
range: 31..32,
range: 34..35,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 33..35,
range: 36..38,
value: Int(
30,
),
@ -127,7 +128,7 @@ Ok(
body: [
Pass(
StmtPass {
range: 38..42,
range: 41..45,
},
),
],

View file

@ -6,7 +6,7 @@ Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..52,
range: 0..55,
is_async: false,
decorator_list: [],
name: Identifier {
@ -15,9 +15,8 @@ Ok(
},
type_params: None,
parameters: Parameters {
range: 5..46,
posonlyargs: [],
args: [
range: 5..49,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
@ -42,13 +41,15 @@ Ok(
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 12..13,
range: 15..16,
parameter: Parameter {
range: 12..13,
range: 15..16,
name: Identifier {
id: "c",
range: 12..13,
range: 15..16,
},
annotation: None,
},
@ -57,41 +58,41 @@ Ok(
],
vararg: Some(
Parameter {
range: 16..20,
range: 18..23,
name: Identifier {
id: "args",
range: 16..20,
range: 19..23,
},
annotation: None,
},
),
kwonlyargs: [
ParameterWithDefault {
range: 22..23,
range: 25..26,
parameter: Parameter {
range: 22..23,
range: 25..26,
name: Identifier {
id: "d",
range: 22..23,
range: 25..26,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 25..29,
range: 28..32,
parameter: Parameter {
range: 25..26,
range: 28..29,
name: Identifier {
id: "e",
range: 25..26,
range: 28..29,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 27..29,
range: 30..32,
value: Int(
20,
),
@ -100,19 +101,19 @@ Ok(
),
},
ParameterWithDefault {
range: 31..35,
range: 34..38,
parameter: Parameter {
range: 31..32,
range: 34..35,
name: Identifier {
id: "f",
range: 31..32,
range: 34..35,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 33..35,
range: 36..38,
value: Int(
30,
),
@ -123,10 +124,10 @@ Ok(
],
kwarg: Some(
Parameter {
range: 39..45,
range: 40..48,
name: Identifier {
id: "kwargs",
range: 39..45,
range: 42..48,
},
annotation: None,
},
@ -136,7 +137,7 @@ Ok(
body: [
Pass(
StmtPass {
range: 48..52,
range: 51..55,
},
),
],

View file

@ -6,7 +6,7 @@ Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..26,
range: 0..29,
is_async: false,
decorator_list: [],
name: Identifier {
@ -15,9 +15,8 @@ Ok(
},
type_params: None,
parameters: Parameters {
range: 5..20,
posonlyargs: [],
args: [
range: 5..23,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
@ -51,20 +50,22 @@ Ok(
),
),
},
],
args: [
ParameterWithDefault {
range: 15..19,
range: 18..22,
parameter: Parameter {
range: 15..16,
range: 18..19,
name: Identifier {
id: "c",
range: 15..16,
range: 18..19,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 17..19,
range: 20..22,
value: Int(
30,
),
@ -81,7 +82,7 @@ Ok(
body: [
Pass(
StmtPass {
range: 22..26,
range: 25..29,
},
),
],

View file

@ -0,0 +1,110 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..46,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..40,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
range: 6..7,
name: Identifier {
id: "a",
range: 6..7,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 9..13,
parameter: Parameter {
range: 9..10,
name: Identifier {
id: "b",
range: 9..10,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 11..13,
value: Int(
20,
),
},
),
),
},
],
args: [
ParameterWithDefault {
range: 18..22,
parameter: Parameter {
range: 18..19,
name: Identifier {
id: "c",
range: 18..19,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 20..22,
value: Int(
30,
),
},
),
),
},
],
vararg: Some(
Parameter {
range: 24..29,
name: Identifier {
id: "args",
range: 25..29,
},
annotation: None,
},
),
kwonlyargs: [],
kwarg: Some(
Parameter {
range: 31..39,
name: Identifier {
id: "kwargs",
range: 33..39,
},
annotation: None,
},
),
},
returns: None,
body: [
Pass(
StmtPass {
range: 42..46,
},
),
],
},
),
],
)

View file

@ -0,0 +1,74 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
FunctionDef(
StmtFunctionDef {
range: 0..23,
is_async: false,
decorator_list: [],
name: Identifier {
id: "f",
range: 4..5,
},
type_params: None,
parameters: Parameters {
range: 5..17,
posonlyargs: [
ParameterWithDefault {
range: 6..7,
parameter: Parameter {
range: 6..7,
name: Identifier {
id: "a",
range: 6..7,
},
annotation: None,
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 12..13,
parameter: Parameter {
range: 12..13,
name: Identifier {
id: "b",
range: 12..13,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 15..16,
parameter: Parameter {
range: 15..16,
name: Identifier {
id: "c",
range: 15..16,
},
annotation: None,
},
default: None,
},
],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
returns: None,
body: [
Pass(
StmtPass {
range: 19..23,
},
),
],
},
),
],
)

View file

@ -6,15 +6,14 @@ Ok(
[
Expr(
StmtExpr {
range: 0..26,
range: 0..29,
value: Lambda(
ExprLambda {
range: 0..26,
range: 0..29,
parameters: Some(
Parameters {
range: 7..23,
posonlyargs: [],
args: [
range: 7..26,
posonlyargs: [
ParameterWithDefault {
range: 7..8,
parameter: Parameter {
@ -39,13 +38,15 @@ Ok(
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 13..14,
range: 16..17,
parameter: Parameter {
range: 13..14,
range: 16..17,
name: Identifier {
id: "c",
range: 13..14,
range: 16..17,
},
annotation: None,
},
@ -55,24 +56,24 @@ Ok(
vararg: None,
kwonlyargs: [
ParameterWithDefault {
range: 19..20,
range: 22..23,
parameter: Parameter {
range: 19..20,
range: 22..23,
name: Identifier {
id: "d",
range: 19..20,
range: 22..23,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 22..23,
range: 25..26,
parameter: Parameter {
range: 22..23,
range: 25..26,
name: Identifier {
id: "e",
range: 22..23,
range: 25..26,
},
annotation: None,
},
@ -84,7 +85,7 @@ Ok(
),
body: NumberLiteral(
ExprNumberLiteral {
range: 25..26,
range: 28..29,
value: Int(
0,
),

View file

@ -0,0 +1,105 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
Expr(
StmtExpr {
range: 0..32,
value: Lambda(
ExprLambda {
range: 0..32,
parameters: Some(
Parameters {
range: 7..29,
posonlyargs: [
ParameterWithDefault {
range: 7..8,
parameter: Parameter {
range: 7..8,
name: Identifier {
id: "a",
range: 7..8,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 10..11,
parameter: Parameter {
range: 10..11,
name: Identifier {
id: "b",
range: 10..11,
},
annotation: None,
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 16..17,
parameter: Parameter {
range: 16..17,
name: Identifier {
id: "c",
range: 16..17,
},
annotation: None,
},
default: None,
},
],
vararg: Some(
Parameter {
range: 19..21,
name: Identifier {
id: "d",
range: 20..21,
},
annotation: None,
},
),
kwonlyargs: [
ParameterWithDefault {
range: 23..24,
parameter: Parameter {
range: 23..24,
name: Identifier {
id: "e",
range: 23..24,
},
annotation: None,
},
default: None,
},
],
kwarg: Some(
Parameter {
range: 26..29,
name: Identifier {
id: "f",
range: 28..29,
},
annotation: None,
},
),
},
),
body: NumberLiteral(
ExprNumberLiteral {
range: 31..32,
value: Int(
0,
),
},
),
},
),
},
),
],
)

View file

@ -6,15 +6,14 @@ Ok(
[
Expr(
StmtExpr {
range: 0..23,
range: 0..26,
value: Lambda(
ExprLambda {
range: 0..23,
range: 0..26,
parameters: Some(
Parameters {
range: 7..20,
posonlyargs: [],
args: [
range: 7..23,
posonlyargs: [
ParameterWithDefault {
range: 7..8,
parameter: Parameter {
@ -48,20 +47,22 @@ Ok(
),
),
},
],
args: [
ParameterWithDefault {
range: 16..20,
range: 19..23,
parameter: Parameter {
range: 16..17,
range: 19..20,
name: Identifier {
id: "c",
range: 16..17,
range: 19..20,
},
annotation: None,
},
default: Some(
NumberLiteral(
ExprNumberLiteral {
range: 18..20,
range: 21..23,
value: Int(
30,
),
@ -77,7 +78,7 @@ Ok(
),
body: NumberLiteral(
ExprNumberLiteral {
range: 22..23,
range: 25..26,
value: Int(
1,
),

View file

@ -0,0 +1,74 @@
---
source: crates/ruff_python_parser/src/function.rs
expression: parse_ast
---
Ok(
[
Expr(
StmtExpr {
range: 0..20,
value: Lambda(
ExprLambda {
range: 0..20,
parameters: Some(
Parameters {
range: 7..17,
posonlyargs: [
ParameterWithDefault {
range: 7..8,
parameter: Parameter {
range: 7..8,
name: Identifier {
id: "a",
range: 7..8,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 10..11,
parameter: Parameter {
range: 10..11,
name: Identifier {
id: "b",
range: 10..11,
},
annotation: None,
},
default: None,
},
],
args: [
ParameterWithDefault {
range: 16..17,
parameter: Parameter {
range: 16..17,
name: Identifier {
id: "c",
range: 16..17,
},
annotation: None,
},
default: None,
},
],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
),
body: NumberLiteral(
ExprNumberLiteral {
range: 19..20,
value: Int(
1,
),
},
),
},
),
},
),
],
)

View file

@ -346,7 +346,7 @@ expression: parse_suite(source).unwrap()
args: [],
vararg: Some(
Parameter {
range: 155..161,
range: 154..161,
name: Identifier {
id: "a",
range: 155..156,
@ -417,7 +417,7 @@ expression: parse_suite(source).unwrap()
args: [],
vararg: Some(
Parameter {
range: 188..200,
range: 187..200,
name: Identifier {
id: "args",
range: 188..192,
@ -446,7 +446,7 @@ expression: parse_suite(source).unwrap()
kwonlyargs: [],
kwarg: Some(
Parameter {
range: 204..220,
range: 202..220,
name: Identifier {
id: "kwargs",
range: 204..210,

View file

@ -19,7 +19,7 @@ expression: parse_ast
args: [],
vararg: Some(
Parameter {
range: 20..29,
range: 19..29,
name: Identifier {
id: "args",
range: 20..24,