// 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-sloppy-let --harmony-sloppy // Test that hoisting a function out of a lexical scope does not // lead to a parsing error // This used to cause a crash in the parser function f(one) { class x { } { class x { } function g() { one; x; } g() } } f() // This used to lead to a ReferenceError function g() { var x = 1; { let x = 2; function g() { x; } g(); } } assertEquals(undefined, g()); // This used to cause a crash in the parser function __f_4(one) { var __v_10 = one + 1; { let __v_10 = one + 3; function __f_6() { one; __v_10; } __f_6(); } } __f_4();