Skip to content

Commit 9df95fe

Browse files
Expand better error messages to anonymous object types with identical type aliases.
1 parent 33b1e3a commit 9df95fe

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/compiler/checker.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10862,15 +10862,13 @@ namespace ts {
1086210862

1086310863
function findMatchingTypeReferenceOrTypeAliasReference(source: Type, unionTarget: UnionOrIntersectionType) {
1086410864
if (source.flags & TypeFlags.Object && (source as ObjectType).objectFlags & (ObjectFlags.Reference | ObjectFlags.Anonymous) && unionTarget.flags & TypeFlags.Union) {
10865-
return find(unionTarget.types, t => {
10866-
if (t.flags & TypeFlags.Object) {
10867-
if ((source as ObjectType).objectFlags & (t as ObjectType).objectFlags & ObjectFlags.Reference) {
10868-
return (source as TypeReference).target === (t as TypeReference).target;
10865+
return find(unionTarget.types, target => {
10866+
if (target.flags & TypeFlags.Object) {
10867+
if ((source as ObjectType).objectFlags & (target as ObjectType).objectFlags & ObjectFlags.Reference) {
10868+
return (source as TypeReference).target === (target as TypeReference).target;
1086910869
}
10870-
if ((source as ObjectType).objectFlags & (t as ObjectType).objectFlags & ObjectFlags.Anonymous) {
10871-
// TODO (drosen): Not sure why the following isn't sufficient.
10872-
// return !!(source as AnonymousType).aliasSymbol && (source as AnonymousType).aliasSymbol === (target as AnonymousType).aliasSymbol;
10873-
return false;
10870+
if ((source as ObjectType).objectFlags & (target as ObjectType).objectFlags & ObjectFlags.Anonymous) {
10871+
return !!(source as AnonymousType).aliasSymbol && (source as AnonymousType).aliasSymbol === (target as AnonymousType).aliasSymbol;
1087410872
}
1087510873
}
1087610874
return false;

0 commit comments

Comments
 (0)