Microsoft/TypeScript
Ver no GitHub`using` transform throws when a for body binding shadows the for head binding
Open
#61.714 aberto em 16 de mai. de 2025
BugDomain: API: TransformsFix AvailableHelp Wanted
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
Description
🔎 Search Terms
explicit resource management, using, await using, loop initializer, Symbol.dispose, Symbol.asyncDispose, iteration, shadows
🕗 Version & Regression Information
- This changed between versions ______ and _______
- This changed in commit or PR _______
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about https://github.com/microsoft/TypeScript/wiki/FAQ#common-bugs-that-arent-bugs
- I was unable to test this on prior versions because _______
⏯ Playground Link
💻 Code
class Foo {}
for (using foo of []) {
const foo = new Foo();
}
🙁 Actual behavior
The transformed output throws "redeclaration of const foo "
🙂 Expected behavior
The transformed output should not throw.
Additional information about the issue
Babel is also affected by this issue: https://github.com/babel/babel/issues/17318. We plan to wrap the for body within a new block when it contains shadowed binding.