mirror of https://github.com/python/cpython
gh-110696: Fix incorrect syntax error message for incorrect argument unpacking (#110706)
This commit is contained in:
parent
ec5622d197
commit
3d180347ae
|
@ -1128,7 +1128,8 @@ func_type_comment[Token*]:
|
||||||
|
|
||||||
# From here on, there are rules for invalid syntax with specialised error messages
|
# From here on, there are rules for invalid syntax with specialised error messages
|
||||||
invalid_arguments:
|
invalid_arguments:
|
||||||
| a=args ',' '*' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "iterable argument unpacking follows keyword argument unpacking") }
|
| ((','.(starred_expression | ( assignment_expression | expression !':=') !'=')+ ',' kwargs) | kwargs) ',' b='*' {
|
||||||
|
RAISE_SYNTAX_ERROR_KNOWN_LOCATION(b, "iterable argument unpacking follows keyword argument unpacking") }
|
||||||
| a=expression b=for_if_clauses ',' [args | expression for_if_clauses] {
|
| a=expression b=for_if_clauses ',' [args | expression for_if_clauses] {
|
||||||
RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, _PyPegen_get_last_comprehension_item(PyPegen_last_item(b, comprehension_ty)), "Generator expression must be parenthesized") }
|
RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, _PyPegen_get_last_comprehension_item(PyPegen_last_item(b, comprehension_ty)), "Generator expression must be parenthesized") }
|
||||||
| a=NAME b='=' expression for_if_clauses {
|
| a=NAME b='=' expression for_if_clauses {
|
||||||
|
|
|
@ -1955,6 +1955,17 @@ Invalid expressions in type scopes:
|
||||||
...
|
...
|
||||||
SyntaxError: yield expression cannot be used within the definition of a generic
|
SyntaxError: yield expression cannot be used within the definition of a generic
|
||||||
|
|
||||||
|
>>> f(**x, *y)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
SyntaxError: iterable argument unpacking follows keyword argument unpacking
|
||||||
|
|
||||||
|
>>> f(**x, *)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
SyntaxError: iterable argument unpacking follows keyword argument unpacking
|
||||||
|
|
||||||
|
>>> f(x, *:)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
SyntaxError: invalid syntax
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix incorrect error message for invalid argument unpacking. Patch by Pablo
|
||||||
|
Galindo
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue