@@ -137,6 +137,18 @@ def to_tuple(t):
137
137
"@deco(a for a in b)\n def f(): pass" ,
138
138
# Simple assignment expression
139
139
"(a := 1)" ,
140
+ # Positional-only arguments
141
+ "def f(a, /,): pass" ,
142
+ "def f(a, /, c, d, e): pass" ,
143
+ "def f(a, /, c, *, d, e): pass" ,
144
+ "def f(a, /, c, *, d, e, **kwargs): pass" ,
145
+ # Positional-only arguments with defaults
146
+ "def f(a=1, /,): pass" ,
147
+ "def f(a=1, /, b=2, c=4): pass" ,
148
+ "def f(a=1, /, b=2, *, c=4): pass" ,
149
+ "def f(a=1, /, b=2, *, c): pass" ,
150
+ "def f(a=1, /, b=2, *, c=4, **kwargs): pass" ,
151
+ "def f(a=1, /, b=2, *, c, **kwargs): pass" ,
140
152
141
153
]
142
154
@@ -1691,6 +1703,16 @@ def main():
1691
1703
('Module' , [('ClassDef' , (3 , 0 ), 'C' , [], [], [('Pass' , (3 , 9 ))], [('Name' , (1 , 1 ), 'deco1' , ('Load' ,)), ('Call' , (2 , 0 ), ('Name' , (2 , 1 ), 'deco2' , ('Load' ,)), [], [])])], []),
1692
1704
('Module' , [('FunctionDef' , (2 , 0 ), 'f' , ('arguments' , [], [], None , [], [], None , []), [('Pass' , (2 , 9 ))], [('Call' , (1 , 1 ), ('Name' , (1 , 1 ), 'deco' , ('Load' ,)), [('GeneratorExp' , (1 , 5 ), ('Name' , (1 , 6 ), 'a' , ('Load' ,)), [('comprehension' , ('Name' , (1 , 12 ), 'a' , ('Store' ,)), ('Name' , (1 , 17 ), 'b' , ('Load' ,)), [], 0 )])], [])], None , None )], []),
1693
1705
('Module' , [('Expr' , (1 , 0 ), ('NamedExpr' , (1 , 1 ), ('Name' , (1 , 1 ), 'a' , ('Store' ,)), ('Constant' , (1 , 6 ), 1 , None )))], []),
1706
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], [('arg' , (1 , 6 ), 'a' , None , None )], None , [], [], None , []), [('Pass' , (1 , 14 ))], [], None , None )], []),
1707
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 12 ), 'c' , None , None ), ('arg' , (1 , 15 ), 'd' , None , None ), ('arg' , (1 , 18 ), 'e' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [], [], None , []), [('Pass' , (1 , 22 ))], [], None , None )], []),
1708
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 12 ), 'c' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 18 ), 'd' , None , None ), ('arg' , (1 , 21 ), 'e' , None , None )], [None , None ], None , []), [('Pass' , (1 , 25 ))], [], None , None )], []),
1709
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 12 ), 'c' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 18 ), 'd' , None , None ), ('arg' , (1 , 21 ), 'e' , None , None )], [None , None ], ('arg' , (1 , 26 ), 'kwargs' , None , None ), []), [('Pass' , (1 , 35 ))], [], None , None )], []),
1710
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [], [('arg' , (1 , 6 ), 'a' , None , None )], None , [], [], None , [('Constant' , (1 , 8 ), 1 , None )]), [('Pass' , (1 , 16 ))], [], None , None )], []),
1711
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 14 ), 'b' , None , None ), ('arg' , (1 , 19 ), 'c' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [], [], None , [('Constant' , (1 , 8 ), 1 , None ), ('Constant' , (1 , 16 ), 2 , None ), ('Constant' , (1 , 21 ), 4 , None )]), [('Pass' , (1 , 25 ))], [], None , None )], []),
1712
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 14 ), 'b' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 22 ), 'c' , None , None )], [('Constant' , (1 , 24 ), 4 , None )], None , [('Constant' , (1 , 8 ), 1 , None ), ('Constant' , (1 , 16 ), 2 , None )]), [('Pass' , (1 , 28 ))], [], None , None )], []),
1713
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 14 ), 'b' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 22 ), 'c' , None , None )], [None ], None , [('Constant' , (1 , 8 ), 1 , None ), ('Constant' , (1 , 16 ), 2 , None )]), [('Pass' , (1 , 26 ))], [], None , None )], []),
1714
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 14 ), 'b' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 22 ), 'c' , None , None )], [('Constant' , (1 , 24 ), 4 , None )], ('arg' , (1 , 29 ), 'kwargs' , None , None ), [('Constant' , (1 , 8 ), 1 , None ), ('Constant' , (1 , 16 ), 2 , None )]), [('Pass' , (1 , 38 ))], [], None , None )], []),
1715
+ ('Module' , [('FunctionDef' , (1 , 0 ), 'f' , ('arguments' , [('arg' , (1 , 14 ), 'b' , None , None )], [('arg' , (1 , 6 ), 'a' , None , None )], None , [('arg' , (1 , 22 ), 'c' , None , None )], [None ], ('arg' , (1 , 27 ), 'kwargs' , None , None ), [('Constant' , (1 , 8 ), 1 , None ), ('Constant' , (1 , 16 ), 2 , None )]), [('Pass' , (1 , 36 ))], [], None , None )], []),
1694
1716
]
1695
1717
single_results = [
1696
1718
('Interactive' , [('Expr' , (1 , 0 ), ('BinOp' , (1 , 0 ), ('Constant' , (1 , 0 ), 1 , None ), ('Add' ,), ('Constant' , (1 , 2 ), 2 , None )))]),
0 commit comments