From 88349ab436117ce31829afefda42cd049fd64d7b Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 12 Sep 2016 12:41:15 -0700 Subject: [PATCH] Quick bail out when narrowing type any by equality --- src/compiler/checker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8dca2ac0d0b..7199e4a548f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8522,6 +8522,9 @@ namespace ts { } function narrowTypeByEquality(type: Type, operator: SyntaxKind, value: Expression, assumeTrue: boolean): Type { + if (type.flags & TypeFlags.Any) { + return type; + } if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) { assumeTrue = !assumeTrue; }