From f325a98f0edfe03bab4b0c07295f2346ac2d271d Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Wed, 6 Apr 2016 15:40:17 -0700 Subject: [PATCH] enable generated names for block-scoped binding in for-of --- src/compiler/transformers/es6.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/transformers/es6.ts b/src/compiler/transformers/es6.ts index 648ad7c8ea..552690b15b 100644 --- a/src/compiler/transformers/es6.ts +++ b/src/compiler/transformers/es6.ts @@ -1564,6 +1564,9 @@ namespace ts { // var v = _a[_i]; if (isVariableDeclarationList(initializer)) { const firstDeclaration = firstOrUndefined(initializer.declarations); + if (initializer.flags & NodeFlags.BlockScoped) { + enableSubstitutionsForBlockScopedBindings(); + } if (firstDeclaration && isBindingPattern(firstDeclaration.name)) { // This works whether the declaration is a var, let, or const. // It will use rhsIterationValue _a[_i] as the initializer.