tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

var-ary-ptrn-rest-id-elision-next-err.js (1846B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/dstr-binding/ary-ptrn-rest-id-elision-next-err.case
      3 // - src/dstr-binding/error/for-of-var.template
      4 /*---
      5 description: Rest element following elision elements (for-of statement)
      6 esid: sec-for-in-and-for-of-statements-runtime-semantics-labelledevaluation
      7 features: [generators, destructuring-binding]
      8 flags: [generated]
      9 info: |
     10    IterationStatement :
     11        for ( var ForBinding of AssignmentExpression ) Statement
     12 
     13    [...]
     14    3. Return ForIn/OfBodyEvaluation(ForBinding, Statement, keyResult,
     15       varBinding, labelSet).
     16 
     17    13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation
     18 
     19    [...]
     20    3. Let destructuring be IsDestructuring of lhs.
     21    [...]
     22    5. Repeat
     23       [...]
     24       h. If destructuring is false, then
     25          [...]
     26       i. Else
     27          i. If lhsKind is assignment, then
     28             [...]
     29          ii. Else if lhsKind is varBinding, then
     30              1. Assert: lhs is a ForBinding.
     31              2. Let status be the result of performing BindingInitialization
     32                 for lhs passing nextValue and undefined as the arguments.
     33          [...]
     34 
     35    13.3.3.6 Runtime Semantics: IteratorBindingInitialization
     36    ArrayBindingPattern : [ Elisionopt BindingRestElement ]
     37    1. If Elision is present, then
     38       a. Let status be the result of performing
     39          IteratorDestructuringAssignmentEvaluation of Elision with
     40          iteratorRecord as the argument.
     41       b. ReturnIfAbrupt(status).
     42    2. Return the result of performing IteratorBindingInitialization for
     43       BindingRestElement with iteratorRecord and environment as arguments.
     44 
     45 ---*/
     46 var iter = (function*() { throw new Test262Error(); })();
     47 
     48 assert.throws(Test262Error, function() {
     49  for (var [, ...x] of [iter]) {
     50    return;
     51  }
     52 });
     53 
     54 reportCompare(0, 0);