Bug 247606
| Summary: | Access of template literal in LHS throws unexpected `SyntaxError` | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Kanguk Lee <p51lee> |
| Component: | JavaScriptCore | Assignee: | Yusuke Suzuki <ysuzuki> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | mark.lam, webkit-bug-importer, ysuzuki |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Mac (Apple Silicon) | ||
| OS: | macOS 13 | ||
Kanguk Lee
// 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
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/102148789>
Yusuke Suzuki
Pull request: https://github.com/WebKit/WebKit/pull/6312
EWS
Committed 256500@main (8900c3f92d08): <https://commits.webkit.org/256500@main>
Reviewed commits have been landed. Closing PR #6312 and removing active labels.