| Index: src/parsing/parser.cc
|
| diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc
|
| index 24df10cb9d7a4021d1541c90c77e09caee97ed6a..b6e708757f876df6e2cda52312e3059c79a94044 100644
|
| --- a/src/parsing/parser.cc
|
| +++ b/src/parsing/parser.cc
|
| @@ -5134,7 +5134,11 @@ void Parser::InsertSloppyBlockFunctionVarBindings(Scope* scope,
|
| auto delegates = static_cast<SloppyBlockFunctionMap::Vector*>(p->value);
|
| for (SloppyBlockFunctionStatement* delegate : *delegates) {
|
| // Check if there's a conflict with a lexical declaration
|
| - Scope* outer_scope = scope->outer_scope();
|
| + Scope* decl_scope = scope;
|
| + while (decl_scope->is_eval_scope()) {
|
| + decl_scope = decl_scope->outer_scope()->DeclarationScope();
|
| + }
|
| + Scope* outer_scope = decl_scope->outer_scope();
|
| Scope* query_scope = delegate->scope()->outer_scope();
|
| Variable* var = nullptr;
|
| bool should_hoist = true;
|
|
|