From cc5d0f2de88791737f3312f6c2dfee5d804ceaa0 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 29 Dec 2020 08:51:55 -1000 Subject: [PATCH] Preserve aliases during relationship checks --- src/compiler/checker.ts | 9 +-------- src/compiler/types.ts | 2 -- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5e91d1cc96e..135ee4775f2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11445,13 +11445,6 @@ namespace ts { return reduced; } - function getUnaliasedUnionType(type: Type) { - if (type.flags & TypeFlags.Union && !(type.flags & TypeFlags.EnumLiteral) && ((type).aliasSymbol || (type).origin)) { - return (type).unaliasedType || ((type).unaliasedType = getUnionTypeFromSortedList((type).types, (type).objectFlags)); - } - return type; - } - function isNeverReducedProperty(prop: Symbol) { return isDiscriminantWithNeverType(prop) || isConflictingPrivateProperty(prop); } @@ -16599,7 +16592,7 @@ namespace ts { while (true) { const t = isFreshLiteralType(type) ? (type).regularType : getObjectFlags(type) & ObjectFlags.Reference && (type).node ? createTypeReference((type).target, getTypeArguments(type)) : - type.flags & TypeFlags.UnionOrIntersection ? getUnaliasedUnionType(getReducedType(type)) : + type.flags & TypeFlags.UnionOrIntersection ? getReducedType(type) : type.flags & TypeFlags.Substitution ? writing ? (type).baseType : (type).substitute : type.flags & TypeFlags.Simplifiable ? getSimplifiedType(type, writing) : type; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index dab3f115372..f4ffd616899 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5296,8 +5296,6 @@ namespace ts { /* @internal */ regularType?: UnionType; /* @internal */ - unaliasedType?: Type; - /* @internal */ origin?: UnionOrigin; }