Describe the bug
SWC does not properly handle scoping on for loop function members.
Input code
for (let i = 0, getI = () => i; i < 3; i++) {
console.log(getI());
}
Config
{
"jsc": {
"parser": {
"syntax": "ecmascript",
"jsx": false
},
"target": "es5",
"loose": false,
"minify": {
"compress": false,
"mangle": false
}
},
"module": {
"type": "es6"
},
"minify": false,
"isModule": true
}
Playground link
https://play.swc.rs/?version=1.3.16&code=H4sIAAAAAAAAA0vLL1LQyEktUchUsFUw0FFITy3xBLI0NBVs7RQyrYHCNgrGQEpbW5OXS0EhOT%2BvOD8nVS8nP10DpFRDU9MaAN2FufdDAAAA&config=H4sIAAAAAAAAA0WMTQrEIAxG75K1286id5hDBCctFv9IUhgR714tlu7C915ehUMsrBUyshCPS0pU%2FMMKZAOKZZcVTNf6tKEXagYUeScdiiyd%2BZSEJjUQXHRbGSWbQmYSeRHG3T9m66GQfucYKmjJdAc%2F0N7G%2FHPynaLySe0Cj9ke9LUAAAA%3D
Expected behavior
Should log
Actual behavior
Logs
Version
1.3.16
Additional context
See babel/babel#15189
Describe the bug
SWC does not properly handle scoping on for loop function members.
Input code
Config
{ "jsc": { "parser": { "syntax": "ecmascript", "jsx": false }, "target": "es5", "loose": false, "minify": { "compress": false, "mangle": false } }, "module": { "type": "es6" }, "minify": false, "isModule": true }Playground link
https://play.swc.rs/?version=1.3.16&code=H4sIAAAAAAAAA0vLL1LQyEktUchUsFUw0FFITy3xBLI0NBVs7RQyrYHCNgrGQEpbW5OXS0EhOT%2BvOD8nVS8nP10DpFRDU9MaAN2FufdDAAAA&config=H4sIAAAAAAAAA0WMTQrEIAxG75K1286id5hDBCctFv9IUhgR714tlu7C915ehUMsrBUyshCPS0pU%2FMMKZAOKZZcVTNf6tKEXagYUeScdiiyd%2BZSEJjUQXHRbGSWbQmYSeRHG3T9m66GQfucYKmjJdAc%2F0N7G%2FHPynaLySe0Cj9ke9LUAAAA%3D
Expected behavior
Should log
Actual behavior
Logs
Version
1.3.16
Additional context
See babel/babel#15189