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
|
//// [infinitelyExpandingTypes1.ts]
interface List<T> {
data: T;
next: List<T>;
owner: List<List<T>>;
}
interface MyList<T> {
data: T;
next: MyList<T>;
owner: MyList<MyList<T>>;
}
var l: List<number>;
var m: MyList<number>;
l == m; // should error
var l2: List<string>;
l == l2; // should error;
l == l; // should not error
//// [infinitelyExpandingTypes1.js]
var l;
var m;
l == m; // should error
var l2;
l == l2; // should error;
l == l; // should not error
|