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