Message413856
I saw that pablogsal welcomed improvments to the parser's suggestions, so here are the messages for parameters and arguments lists I think should be written instead of the current generic "invalid syntax".
>>> def foo(*arg, *arg): pass
SyntaxError: * argument may appear only once
>>> def foo(**arg, **arg): pass
SyntaxError: ** argument may appear only once
>>> def foo(arg1, /, arg2, /, arg3): pass
SyntaxError: / may appear only once
>>> def foo(*args, /, arg): pass
SyntaxError: / must be ahead of *
>>> def foo(/, arg): pass
SyntaxError: at least one argument must precede /
>>> def foo(arg=): pass
SyntaxError: expected default value expression
>>> def foo(*args=None): pass
SyntaxError: * argument cannot have default value
>>> def foo(**kwargs=None): pass
SyntaxError: ** argument cannot have default value
>>> foo(*args=[0])
SyntaxError: cannot assign to iterable argument unpacking
>>> foo(**args={"a": None})
SyntaxError: cannot assign to keyword argument unpacking
>>> foo(arg=)
SyntaxError: expected argument value expression |
|
Date |
User |
Action |
Args |
2022-02-23 21:23:21 | Andy_kl | set | recipients:
+ Andy_kl, lys.nikolaou, pablogsal |
2022-02-23 21:23:21 | Andy_kl | set | messageid: <1645651401.14.0.658565183507.issue46838@roundup.psfhosted.org> |
2022-02-23 21:23:21 | Andy_kl | link | issue46838 messages |
2022-02-23 21:23:21 | Andy_kl | create | |
|