bpo-40067: Improve error messages for multiple star expressions in assignments (GH-19168)
Co-Authored-By: Batuhan Taşkaya <isidentical@gmail.com> Co-Authored-By: Pablo Galindo <Pablogsal@gmail.com>
This commit is contained in:
parent
5c3cda0d1a
commit
cb6534e1a8
|
@ -308,12 +308,17 @@ Now some general starred expressions (all fail).
|
||||||
>>> a, *b, c, *d, e = range(10) # doctest:+ELLIPSIS
|
>>> a, *b, c, *d, e = range(10) # doctest:+ELLIPSIS
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
SyntaxError: two starred expressions in assignment
|
SyntaxError: multiple starred expressions in assignment
|
||||||
|
|
||||||
>>> [*b, *c] = range(10) # doctest:+ELLIPSIS
|
>>> [*b, *c] = range(10) # doctest:+ELLIPSIS
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
SyntaxError: two starred expressions in assignment
|
SyntaxError: multiple starred expressions in assignment
|
||||||
|
|
||||||
|
>>> a,*b,*c,*d = range(4) # doctest:+ELLIPSIS
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
SyntaxError: multiple starred expressions in assignment
|
||||||
|
|
||||||
>>> *a = range(10) # doctest:+ELLIPSIS
|
>>> *a = range(10) # doctest:+ELLIPSIS
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
|
|
|
@ -1236,6 +1236,7 @@ Jeffrey Ollie
|
||||||
Adam Olsen
|
Adam Olsen
|
||||||
Bryan Olson
|
Bryan Olson
|
||||||
Grant Olson
|
Grant Olson
|
||||||
|
Furkan Onder
|
||||||
Koray Oner
|
Koray Oner
|
||||||
Piet van Oostrum
|
Piet van Oostrum
|
||||||
Tomas Oppelstrup
|
Tomas Oppelstrup
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Improve the error message for multiple star expressions in an assignment.
|
||||||
|
Patch by Furkan Onder
|
|
@ -3708,7 +3708,7 @@ assignment_helper(struct compiler *c, asdl_seq *elts)
|
||||||
}
|
}
|
||||||
else if (elt->kind == Starred_kind) {
|
else if (elt->kind == Starred_kind) {
|
||||||
return compiler_error(c,
|
return compiler_error(c,
|
||||||
"two starred expressions in assignment");
|
"multiple starred expressions in assignment");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!seen_star) {
|
if (!seen_star) {
|
||||||
|
|
Loading…
Reference in New Issue