ceb92ebfdf
For web compat reasons, we support an initializer in the declaration part of a for-in loop. But we should disallow this for destructured declarations (just as we do for lexical declarations). In fact, without disallowing it, we crash. Also fix up the PreParser to have the same restrictions here as the parser (the lexical check was missing there), verified by running the message tests with --min-preparse-length=0. In fixing the logic I've also cleaned up the code a bit, removing the only-called-once DeclarationParsingResult::SingleName method. BUG=v8:811 LOG=n Review URL: https://codereview.chromium.org/1471973003 Cr-Commit-Position: refs/heads/master@{#32236}
10 lines
258 B
JavaScript
10 lines
258 B
JavaScript
// Copyright 2015 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
//
|
|
// Flags: --harmony-destructuring-bind
|
|
|
|
function f() {
|
|
for (var [x, y] = {} in {});
|
|
}
|