| Index: src/parsing/parser.cc
|
| diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc
|
| index ff9d9fe7e2e50b581cf96c7a93aae3376c931fb8..f411f641f97403b662204373f26f9e9d1679372b 100644
|
| --- a/src/parsing/parser.cc
|
| +++ b/src/parsing/parser.cc
|
| @@ -4770,16 +4770,14 @@ Block* Parser::BuildParameterInitializationBlock(
|
| param_scope);
|
| }
|
|
|
| - {
|
| - BlockState block_state(&scope_state_, param_scope);
|
| - DeclarationParsingResult::Declaration decl(
|
| - parameter.pattern, initializer_position, initial_value);
|
| - PatternRewriter::DeclareAndInitializeVariables(param_block, &descriptor,
|
| - &decl, nullptr, CHECK_OK);
|
| - }
|
| -
|
| - if (!parameter.is_simple() && scope()->calls_sloppy_eval()) {
|
| - param_scope = param_scope->FinalizeBlockScope();
|
| + BlockState block_state(&scope_state_, param_scope);
|
| + DeclarationParsingResult::Declaration decl(
|
| + parameter.pattern, initializer_position, initial_value);
|
| + PatternRewriter::DeclareAndInitializeVariables(param_block, &descriptor,
|
| + &decl, nullptr, CHECK_OK);
|
| +
|
| + if (param_block != init_block) {
|
| + param_scope = block_state.FinalizedBlockScope();
|
| if (param_scope != nullptr) {
|
| CheckConflictingVarDeclarations(param_scope, CHECK_OK);
|
| }
|
|
|