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
|
//// [typeComparisonCaching.ts]
// Check that we only cache results of type comparisons that are free of assumptions
interface A {
p: C;
s: string;
}
interface B {
p: D;
s: number;
}
interface C {
q: A;
}
interface D {
q: B;
}
var a: A;
var b: B;
var c: C;
var d: D;
a = b;
c = d; // Should not be allowed
//// [typeComparisonCaching.js]
// Check that we only cache results of type comparisons that are free of assumptions
var a;
var b;
var c;
var d;
a = b;
c = d; // Should not be allowed
|