=== tests/cases/conformance/types/typeRelationships/recursiveTypes/arrayLiteralsWithRecursiveGenerics.ts === class List { >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) data: T; >data : Symbol(data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 15)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) next: List>; >next : Symbol(next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 1, 12)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 11)) } class DerivedList extends List { >DerivedList : Symbol(DerivedList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 3, 1)) >U : Symbol(U, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 18)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) >U : Symbol(U, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 18)) foo: U; >foo : Symbol(foo, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 38)) >U : Symbol(U, Decl(arrayLiteralsWithRecursiveGenerics.ts, 5, 18)) // next: List> } class MyList { >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) data: T; >data : Symbol(data, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 17)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) next: MyList>; >next : Symbol(next, Decl(arrayLiteralsWithRecursiveGenerics.ts, 11, 12)) >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) >T : Symbol(T, Decl(arrayLiteralsWithRecursiveGenerics.ts, 10, 13)) } var list: List; >list : Symbol(list, Decl(arrayLiteralsWithRecursiveGenerics.ts, 15, 3)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) var list2: List; >list2 : Symbol(list2, Decl(arrayLiteralsWithRecursiveGenerics.ts, 16, 3)) >List : Symbol(List, Decl(arrayLiteralsWithRecursiveGenerics.ts, 0, 0)) var myList: MyList; >myList : Symbol(myList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 17, 3)) >MyList : Symbol(MyList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 8, 1)) var xs = [list, myList]; // {}[] >xs : Symbol(xs, Decl(arrayLiteralsWithRecursiveGenerics.ts, 19, 3)) >list : Symbol(list, Decl(arrayLiteralsWithRecursiveGenerics.ts, 15, 3)) >myList : Symbol(myList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 17, 3)) var ys = [list, list2]; // {}[] >ys : Symbol(ys, Decl(arrayLiteralsWithRecursiveGenerics.ts, 20, 3)) >list : Symbol(list, Decl(arrayLiteralsWithRecursiveGenerics.ts, 15, 3)) >list2 : Symbol(list2, Decl(arrayLiteralsWithRecursiveGenerics.ts, 16, 3)) var zs = [list, null]; // List[] >zs : Symbol(zs, Decl(arrayLiteralsWithRecursiveGenerics.ts, 21, 3)) >list : Symbol(list, Decl(arrayLiteralsWithRecursiveGenerics.ts, 15, 3)) var myDerivedList: DerivedList; >myDerivedList : Symbol(myDerivedList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 23, 3)) >DerivedList : Symbol(DerivedList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 3, 1)) var as = [list, myDerivedList]; // List[] >as : Symbol(as, Decl(arrayLiteralsWithRecursiveGenerics.ts, 24, 3)) >list : Symbol(list, Decl(arrayLiteralsWithRecursiveGenerics.ts, 15, 3)) >myDerivedList : Symbol(myDerivedList, Decl(arrayLiteralsWithRecursiveGenerics.ts, 23, 3))