From d6fcd1af1ba424eb163a0da153b4c296de825f7c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Fri, 4 Mar 2016 13:19:58 -0800 Subject: [PATCH] Consider for-in and for-of variables to be definitely assigned --- src/compiler/checker.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1e693867baf..491e1fe0ee1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7525,6 +7525,10 @@ namespace ts { if (!declaration || declaration.kind !== SyntaxKind.VariableDeclaration || (declaration).initializer) { return; } + const parentParentKind = declaration.parent.parent.kind; + if (parentParentKind === SyntaxKind.ForOfStatement || parentParentKind === SyntaxKind.ForInStatement) { + return; + } const declarationContainer = getContainingFunction(declaration) || getSourceFileOfNode(declaration); const referenceContainer = getContainingFunction(reference) || getSourceFileOfNode(reference); if (declarationContainer !== referenceContainer) {