1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
=== tests/cases/compiler/typeComparisonCaching.ts ===
// Check that we only cache results of type comparisons that are free of assumptions
interface A {
p: C;
>p : C
s: string;
>s : string
}
interface B {
p: D;
>p : D
s: number;
>s : number
}
interface C {
q: A;
>q : A
}
interface D {
q: B;
>q : B
}
var a: A;
>a : A
var b: B;
>b : B
var c: C;
>c : C
var d: D;
>d : D
a = b;
>a = b : B
>a : A
>b : B
c = d; // Should not be allowed
>c = d : D
>c : C
>d : D
|