@@ -35,6 +35,10 @@ def test_invalid_syntax_errors(self):
35
35
self .assertRaisesSyntaxError ("def f(a, /, a): pass" , "duplicate argument 'a' in function definition" )
36
36
self .assertRaisesSyntaxError ("def f(a, /, *, a): pass" , "duplicate argument 'a' in function definition" )
37
37
self .assertRaisesSyntaxError ("def f(a, b/2, c): pass" )
38
+ self .assertRaisesSyntaxError ("def f(a, /, c, /): pass" )
39
+ self .assertRaisesSyntaxError ("def f(a, /, c, /, d): pass" )
40
+ self .assertRaisesSyntaxError ("def f(a, /, c, /, d, *, e): pass" )
41
+ self .assertRaisesSyntaxError ("def f(a, *, c, /, d, e): pass" )
38
42
39
43
def test_invalid_syntax_errors_async (self ):
40
44
self .assertRaisesSyntaxError ("async def f(a, b = 5, /, c): pass" , "non-default argument follows default argument" )
@@ -52,6 +56,10 @@ def test_invalid_syntax_errors_async(self):
52
56
self .assertRaisesSyntaxError ("async def f(a, /, a): pass" , "duplicate argument 'a' in function definition" )
53
57
self .assertRaisesSyntaxError ("async def f(a, /, *, a): pass" , "duplicate argument 'a' in function definition" )
54
58
self .assertRaisesSyntaxError ("async def f(a, b/2, c): pass" )
59
+ self .assertRaisesSyntaxError ("async def f(a, /, c, /): pass" )
60
+ self .assertRaisesSyntaxError ("async def f(a, /, c, /, d): pass" )
61
+ self .assertRaisesSyntaxError ("async def f(a, /, c, /, d, *, e): pass" )
62
+ self .assertRaisesSyntaxError ("async def f(a, *, c, /, d, e): pass" )
55
63
56
64
def test_optional_positional_only_args (self ):
57
65
def f (a , b = 10 , / , c = 100 ):
@@ -233,6 +241,10 @@ def test_invalid_syntax_lambda(self):
233
241
self .assertRaisesSyntaxError ("lambda *, /, a: None" )
234
242
self .assertRaisesSyntaxError ("lambda a, /, a: None" , "duplicate argument 'a' in function definition" )
235
243
self .assertRaisesSyntaxError ("lambda a, /, *, a: None" , "duplicate argument 'a' in function definition" )
244
+ self .assertRaisesSyntaxError ("lambda a, /, b, /: None" )
245
+ self .assertRaisesSyntaxError ("lambda a, /, b, /, c: None" )
246
+ self .assertRaisesSyntaxError ("lambda a, /, b, /, c, *, d: None" )
247
+ self .assertRaisesSyntaxError ("lambda a, *, b, /, c: None" )
236
248
237
249
def test_posonly_methods (self ):
238
250
class Example :
0 commit comments