This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Andy_kl
Recipients Andy_kl, lys.nikolaou, pablogsal
Date 2022-02-23.21:23:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1645651401.14.0.658565183507.issue46838@roundup.psfhosted.org>
In-reply-to
Content
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
History
Date User Action Args
2022-02-23 21:23:21Andy_klsetrecipients: + Andy_kl, lys.nikolaou, pablogsal
2022-02-23 21:23:21Andy_klsetmessageid: <1645651401.14.0.658565183507.issue46838@roundup.psfhosted.org>
2022-02-23 21:23:21Andy_kllinkissue46838 messages
2022-02-23 21:23:21Andy_klcreate