| Index: src/parsing/parser-base.h | 
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h | 
| index 669d5ae86d9f3af0e6188546956e1db07f5bf8ae..caf07ae5e420b703d444b000047402eb832cfb3b 100644 | 
| --- a/src/parsing/parser-base.h | 
| +++ b/src/parsing/parser-base.h | 
| @@ -1365,6 +1365,7 @@ ParserBase<Traits>::ParsePrimaryExpression(ExpressionClassifier* classifier, | 
| Expect(Token::RPAREN, CHECK_OK); | 
| if (peek() != Token::ARROW) { | 
| ValidateExpression(classifier, CHECK_OK); | 
| +        expr->set_is_parenthesized(); | 
| } | 
| return expr; | 
| } | 
| @@ -2041,7 +2042,8 @@ ParserBase<Traits>::ParseAssignmentExpression(bool accept_IN, int flags, | 
| ExpressionClassifier::CoverInitializedNameProduction); | 
|  | 
| bool maybe_pattern = | 
| -      expression->IsObjectLiteral() || expression->IsArrayLiteral(); | 
| +      (expression->IsObjectLiteral() || expression->IsArrayLiteral()) && | 
| +      !expression->is_parenthesized(); | 
|  | 
| if (!Token::IsAssignmentOp(peek())) { | 
| // Parsed conditional expression only (no assignment). | 
|  |