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
|
//// [tests/cases/compiler/infinitelyExpandingTypes3.ts] ////
//// [infinitelyExpandingTypes3.ts]
interface List<T> {
data: T;
next: List<T>; // will be recursive reference when OwnerList is expanded
owner: OwnerList<T>;
}
interface OwnerList<U> extends List<List<U>> {
name: string;
}
interface OwnerList2<U> extends List<List<U>> {
name: string;
}
var o1: OwnerList<number>;
var o2: OwnerList2<number>;
o1 = o2; // should not error
//// [infinitelyExpandingTypes3.js]
var o1;
var o2;
o1 = o2; // should not error
|