Bug 247606 - Access of template literal in LHS throws unexpected `SyntaxError`
Summary: Access of template literal in LHS throws unexpected `SyntaxError`
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: Mac (Apple Silicon) macOS 13
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-11-08 03:27 PST by Kanguk Lee
Modified: 2022-11-09 14:27 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kanguk Lee 2022-11-08 03:27:05 PST
// input.js
`${ + 0 }` [ 0 ] = 0 ;
// Note: this is fine
// `${ 0 }` [ 0 ] = 0 ;
_____________________

Hello,

Executing the input.js using JSC throws SyntaxError, but it is expected to be terminated normally.

This bug looks similar to the bugs I found: https://bugs.webkit.org/show_bug.cgi?id=247435 and https://bugs.webkit.org/show_bug.cgi?id=247497.

However, I personally think this may not be a duplicate of Bug 247435 and Bug 247497, so please let me know if this bug is duplicated or not.

Running the input.js with JSC results in:

---
$ jsc input.js
Exception: SyntaxError: Left hand side of operator '=' must be a reference.
at input.js:1
---

while other engines behave like:

---
# V8
$ node input.js
// no error

# GraalJS
$ js input.js
// no error
---


WebKit version: 615.1.10
Comment 1 Radar WebKit Bug Importer 2022-11-09 10:29:00 PST
<rdar://problem/102148789>
Comment 2 Yusuke Suzuki 2022-11-09 12:24:43 PST
Pull request: https://github.com/WebKit/WebKit/pull/6312
Comment 3 EWS 2022-11-09 14:27:44 PST
Committed 256500@main (8900c3f92d08): <https://commits.webkit.org/256500@main>

Reviewed commits have been landed. Closing PR #6312 and removing active labels.