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
Thanks for filing. I was able to reproduce the bug in Safari. The appropriate engineers have been notified.
<rdar://problem/83892140>
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 ***