Closed
Bug 1157419
Opened 9 years ago
Closed 9 years ago
Elision following AssignmentRestElement should not be permitted
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
DUPLICATE
of bug 1041341
People
(Reporter: jugglinmike, Unassigned)
References
(Blocks 1 open bug)
Details
$ js -e "[...x , ] = [1, 2, 3];" Expected: SyntaxError Actual: successful execution (an new array, `[1, 2, 3]` is assigned to `x`) Additional elisions are incorrectly rejected, i.e. $ js -e "[...x , , ] = [1,2,3]; print(x);" -e:1:8 SyntaxError: parameter after rest parameter: -e:1:8 [...x , , ] = [1,2,3]; print(x); -e:1:8 ........^ Relevant grammar (ES6 12.14.5 Destructuring Assignment): > ArrayAssignmentPattern[Yield] : > [ Elisionopt AssignmentRestElement[?Yield]opt ] > [ AssignmentElementList[?Yield] ] > [ AssignmentElementList[?Yield] , Elisionopt AssignmentRestElement[?Yield]opt ] > > AssignmentRestElement[Yield] : > ... DestructuringAssignmentTarget[?Yield] > > DestructuringAssignmentTarget[Yield] : > LeftHandSideExpression[?Yield] Source: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-destructuring-assignment Build details: commit 07bb578e6a93d11a3e1365e2b0d9296a755543ee Date: Fri Apr 17 13:52:50 2015 -0700
Reporter | ||
Comment 1•9 years ago
|
||
Updating to confirm that this is still an issue with the latest build: $ js -e "[...x , ] = [1]; print(x);" 1 $ js -e "[...x , , ] = [1]; print(x);" -e:1:8 SyntaxError: parameter after rest parameter: -e:1:8 [...x , , ] = [1]; print(x); -e:1:8 ........^ commit 09631fba2e955162f3ffbbdc4f4a5c8b9c926ead Date Mon May 18 13:43:01 2015 +0200
Comment 2•9 years ago
|
||
This is basically a dupe of bug 1041341.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•