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)); }