=== tests/cases/compiler/infinitelyExpandingTypes3.ts === interface List { >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) data: T; >data : Symbol(data, Decl(infinitelyExpandingTypes3.ts, 0, 19)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) next: List; // will be recursive reference when OwnerList is expanded >next : Symbol(next, Decl(infinitelyExpandingTypes3.ts, 1, 12)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) owner: OwnerList; >owner : Symbol(owner, Decl(infinitelyExpandingTypes3.ts, 2, 18)) >OwnerList : Symbol(OwnerList, Decl(infinitelyExpandingTypes3.ts, 4, 1)) >T : Symbol(T, Decl(infinitelyExpandingTypes3.ts, 0, 15)) } interface OwnerList extends List> { >OwnerList : Symbol(OwnerList, Decl(infinitelyExpandingTypes3.ts, 4, 1)) >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 6, 20)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 6, 20)) name: string; >name : Symbol(name, Decl(infinitelyExpandingTypes3.ts, 6, 46)) } interface OwnerList2 extends List> { >OwnerList2 : Symbol(OwnerList2, Decl(infinitelyExpandingTypes3.ts, 8, 1)) >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 10, 21)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >List : Symbol(List, Decl(infinitelyExpandingTypes3.ts, 0, 0)) >U : Symbol(U, Decl(infinitelyExpandingTypes3.ts, 10, 21)) name: string; >name : Symbol(name, Decl(infinitelyExpandingTypes3.ts, 10, 47)) } var o1: OwnerList; >o1 : Symbol(o1, Decl(infinitelyExpandingTypes3.ts, 14, 3)) >OwnerList : Symbol(OwnerList, Decl(infinitelyExpandingTypes3.ts, 4, 1)) var o2: OwnerList2; >o2 : Symbol(o2, Decl(infinitelyExpandingTypes3.ts, 15, 3)) >OwnerList2 : Symbol(OwnerList2, Decl(infinitelyExpandingTypes3.ts, 8, 1)) o1 = o2; // should not error >o1 : Symbol(o1, Decl(infinitelyExpandingTypes3.ts, 14, 3)) >o2 : Symbol(o2, Decl(infinitelyExpandingTypes3.ts, 15, 3))