Skip to content

Commit 2541a5d

Browse files
committed
Always infer between distinct type references to same target
1 parent 6b29060 commit 2541a5d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/compiler/checker.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15958,9 +15958,14 @@ namespace ts {
1595815958
}
1595915959
}
1596015960

15961+
function isTypeReferenceToSameTarget(source: Type, target: Type) {
15962+
return !!(getObjectFlags(source) & ObjectFlags.Reference && getObjectFlags(target) & ObjectFlags.Reference &&
15963+
(<TypeReference>source).target === (<TypeReference>target).target);
15964+
}
15965+
1596115966
function typeIdenticalToSomeType(type: Type, types: Type[]): boolean {
1596215967
for (const t of types) {
15963-
if (isTypeIdenticalTo(t, type)) {
15968+
if (t === type || !isTypeReferenceToSameTarget(t, type) && isTypeIdenticalTo(t, type)) {
1596415969
return true;
1596515970
}
1596615971
}

0 commit comments

Comments
 (0)