WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 163209
231166
"Can't find variable" that's let-declared within `with` statement when executing function that's declared within same `with` statement
https://bugs.webkit.org/show_bug.cgi?id=231166
Summary
"Can't find variable" that's let-declared within `with` statement when execut...
yanahij531
Reported
2021-10-04 04:28:34 PDT
In Firefox and Chrome the following code works fine, but Safari throws an error saying that the variable `a` cannot be found. ``` with({}) { let a = 1; function foo() { console.log(a); } foo(); } ```
https://jsbin.com/hiwihiyaxi/edit?html,console
Attachments
Add attachment
proposed patch, testcase, etc.
Kevin Neal
Comment 1
2021-10-05 10:13:51 PDT
Thanks for filing. I was able to reproduce the bug in Safari. The appropriate engineers have been notified.
Radar WebKit Bug Importer
Comment 2
2021-10-05 10:14:10 PDT
<
rdar://problem/83892140
>
Alexey Shvayka
Comment 3
2023-09-24 13:59:23 PDT
Thank you for reporting! This bug arises because block-level function declarations in global code, which are subject to currently unimplemented legacy Annex B hoisting, always receive top-level scope instead of lexical one.
https://bugs.webkit.org/show_bug.cgi?id=163209
implements Annex B function hoisting for global code, fixing this issue. *** This bug has been marked as a duplicate of
bug 163209
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug