TypeScript/tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.types

85 lines
1.6 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/types/typeRelationships/recursiveTypes/arrayLiteralsWithRecursiveGenerics.ts ===
class List<T> {
>List : List<T>
>T : T
2014-08-15 23:33:16 +02:00
data: T;
>data : T
>T : T
2014-08-15 23:33:16 +02:00
next: List<List<T>>;
>next : List<List<T>>
>List : List<T>
>List : List<T>
>T : T
2014-08-15 23:33:16 +02:00
}
class DerivedList<U> extends List<U> {
>DerivedList : DerivedList<U>
>U : U
>List : List<T>
>U : U
2014-08-15 23:33:16 +02:00
foo: U;
>foo : U
>U : U
2014-08-15 23:33:16 +02:00
// next: List<List<U>>
}
class MyList<T> {
>MyList : MyList<T>
>T : T
2014-08-15 23:33:16 +02:00
data: T;
>data : T
>T : T
2014-08-15 23:33:16 +02:00
next: MyList<MyList<T>>;
>next : MyList<MyList<T>>
>MyList : MyList<T>
>MyList : MyList<T>
>T : T
2014-08-15 23:33:16 +02:00
}
var list: List<number>;
>list : List<number>
>List : List<T>
2014-08-15 23:33:16 +02:00
var list2: List<string>;
>list2 : List<string>
>List : List<T>
2014-08-15 23:33:16 +02:00
var myList: MyList<number>;
>myList : MyList<number>
>MyList : MyList<T>
2014-08-15 23:33:16 +02:00
var xs = [list, myList]; // {}[]
>xs : List<number>[]
2014-08-15 23:33:16 +02:00
>[list, myList] : List<number>[]
>list : List<number>
>myList : MyList<number>
2014-08-15 23:33:16 +02:00
var ys = [list, list2]; // {}[]
>ys : (List<number> | List<string>)[]
>[list, list2] : (List<number> | List<string>)[]
>list : List<number>
>list2 : List<string>
2014-08-15 23:33:16 +02:00
var zs = [list, null]; // List<number>[]
>zs : List<number>[]
2014-08-15 23:33:16 +02:00
>[list, null] : List<number>[]
>list : List<number>
2015-04-13 21:36:11 +02:00
>null : null
2014-08-15 23:33:16 +02:00
var myDerivedList: DerivedList<number>;
>myDerivedList : DerivedList<number>
>DerivedList : DerivedList<U>
2014-08-15 23:33:16 +02:00
var as = [list, myDerivedList]; // List<number>[]
>as : List<number>[]
2014-08-15 23:33:16 +02:00
>[list, myDerivedList] : List<number>[]
>list : List<number>
>myDerivedList : DerivedList<number>
2014-08-15 23:33:16 +02:00