From 67491414f1d343856c0fa8b032bd64b92566f3a5 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 18 Dec 2018 11:50:29 -0800 Subject: [PATCH] Handle intersection types in getWidenedType --- src/compiler/checker.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a5f1515b94a..c751c37c6d5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13597,6 +13597,9 @@ namespace ts { // union includes empty object types (e.g. reducing {} | string to just {}). return getUnionType(widenedTypes, some(widenedTypes, isEmptyObjectType) ? UnionReduction.Subtype : UnionReduction.Literal); } + if (type.flags & TypeFlags.Intersection) { + return getIntersectionType(sameMap((type).types, getWidenedType)); + } if (isArrayType(type) || isTupleType(type)) { return createTypeReference((type).target, sameMap((type).typeArguments, getWidenedType)); }