diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h index 5dfc09d398..ba812c62ea 100644 --- a/src/parsing/parser-base.h +++ b/src/parsing/parser-base.h @@ -4427,6 +4427,12 @@ bool ParserBase::IsNextLetKeyword() { case Token::ASYNC: return true; case Token::FUTURE_STRICT_RESERVED_WORD: + case Token::ESCAPED_STRICT_RESERVED_WORD: + // The early error rule for future reserved keywords + // (ES#sec-identifiers-static-semantics-early-errors) uses the static + // semantics StringValue of IdentifierName, which normalizes escape + // sequences. So, both escaped and unescaped future reserved keywords are + // allowed as identifiers in sloppy mode. return is_sloppy(language_mode()); default: return false; diff --git a/test/test262/test262.status b/test/test262/test262.status index 4840bc9f45..b0d280667c 100644 --- a/test/test262/test262.status +++ b/test/test262/test262.status @@ -588,15 +588,6 @@ # https://bugs.chromium.org/p/v8/issues/detail?id=11689 'built-ins/BigInt/wrapper-object-ordinary-toprimitive': [FAIL], - # https://bugs.chromium.org/p/v8/issues/detail?id=11688 - 'language/future-reserved-words/implements': [FAIL], - 'language/future-reserved-words/interface': [FAIL], - 'language/future-reserved-words/private': [FAIL], - 'language/future-reserved-words/protected': [FAIL], - 'language/future-reserved-words/public': [FAIL], - 'language/future-reserved-words/package': [FAIL], - 'language/future-reserved-words/static': [FAIL], - # https://bugs.chromium.org/p/v8/issues/detail?id=11690 'language/module-code/export-expname-binding-index': [FAIL],