From 83971d0900b48a6c88c287b154a2c74bdc6409d0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 8 Jun 2016 10:51:32 -0700 Subject: [PATCH] Create intersection types in type guards for unrelated types --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 650bc488b0e..ea494725fc6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7997,7 +7997,7 @@ namespace ts { const targetType = type.flags & TypeFlags.TypeParameter ? getApparentType(type) : type; return isTypeAssignableTo(candidate, targetType) ? candidate : isTypeAssignableTo(type, candidate) ? type : - neverType; + getIntersectionType([type, candidate]); } function narrowTypeByTypePredicate(type: Type, callExpression: CallExpression, assumeTrue: boolean): Type {