TypeScript/tests/baselines/reference/genericCallWithArrayLiteralArgs.types

73 lines
2.8 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithArrayLiteralArgs.ts ===
function foo<T>(t: T) {
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
>T : T, Symbol(T, Decl(genericCallWithArrayLiteralArgs.ts, 0, 13))
>t : T, Symbol(t, Decl(genericCallWithArrayLiteralArgs.ts, 0, 16))
>T : T, Symbol(T, Decl(genericCallWithArrayLiteralArgs.ts, 0, 13))
2014-08-15 23:33:16 +02:00
return t;
2015-04-13 23:01:57 +02:00
>t : T, Symbol(t, Decl(genericCallWithArrayLiteralArgs.ts, 0, 16))
2014-08-15 23:33:16 +02:00
}
var r = foo([1, 2]); // number[]
2015-04-13 23:01:57 +02:00
>r : number[], Symbol(r, Decl(genericCallWithArrayLiteralArgs.ts, 4, 3), Decl(genericCallWithArrayLiteralArgs.ts, 5, 3))
2014-08-15 23:33:16 +02:00
>foo([1, 2]) : number[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
2014-08-15 23:33:16 +02:00
>[1, 2] : number[]
2015-04-13 21:36:11 +02:00
>1 : number
>2 : number
2014-08-15 23:33:16 +02:00
var r = foo<number[]>([1, 2]); // number[]
2015-04-13 23:01:57 +02:00
>r : number[], Symbol(r, Decl(genericCallWithArrayLiteralArgs.ts, 4, 3), Decl(genericCallWithArrayLiteralArgs.ts, 5, 3))
2014-08-15 23:33:16 +02:00
>foo<number[]>([1, 2]) : number[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
2014-08-15 23:33:16 +02:00
>[1, 2] : number[]
2015-04-13 21:36:11 +02:00
>1 : number
>2 : number
2014-08-15 23:33:16 +02:00
var ra = foo<any[]>([1, 2]); // any[]
2015-04-13 23:01:57 +02:00
>ra : any[], Symbol(ra, Decl(genericCallWithArrayLiteralArgs.ts, 6, 3))
2014-08-15 23:33:16 +02:00
>foo<any[]>([1, 2]) : any[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
2014-10-13 15:56:58 +02:00
>[1, 2] : number[]
2015-04-13 21:36:11 +02:00
>1 : number
>2 : number
2014-08-15 23:33:16 +02:00
var r2 = foo([]); // any[]
2015-04-13 23:01:57 +02:00
>r2 : any[], Symbol(r2, Decl(genericCallWithArrayLiteralArgs.ts, 7, 3))
2014-08-15 23:33:16 +02:00
>foo([]) : any[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
2014-10-13 15:56:58 +02:00
>[] : undefined[]
2014-08-15 23:33:16 +02:00
var r3 = foo<number[]>([]); // number[]
2015-04-13 23:01:57 +02:00
>r3 : number[], Symbol(r3, Decl(genericCallWithArrayLiteralArgs.ts, 8, 3))
2014-08-15 23:33:16 +02:00
>foo<number[]>([]) : number[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
2014-10-13 15:56:58 +02:00
>[] : undefined[]
2014-08-15 23:33:16 +02:00
var r4 = foo([1, '']); // {}[]
2015-04-13 23:01:57 +02:00
>r4 : (string | number)[], Symbol(r4, Decl(genericCallWithArrayLiteralArgs.ts, 9, 3))
>foo([1, '']) : (string | number)[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
>[1, ''] : (string | number)[]
2015-04-13 21:36:11 +02:00
>1 : number
>'' : string
2014-08-15 23:33:16 +02:00
var r5 = foo<any[]>([1, '']); // any[]
2015-04-13 23:01:57 +02:00
>r5 : any[], Symbol(r5, Decl(genericCallWithArrayLiteralArgs.ts, 10, 3))
2014-08-15 23:33:16 +02:00
>foo<any[]>([1, '']) : any[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
>[1, ''] : (string | number)[]
2015-04-13 21:36:11 +02:00
>1 : number
>'' : string
2014-08-15 23:33:16 +02:00
var r6 = foo<Object[]>([1, '']); // Object[]
2015-04-13 23:01:57 +02:00
>r6 : Object[], Symbol(r6, Decl(genericCallWithArrayLiteralArgs.ts, 11, 3))
2014-08-15 23:33:16 +02:00
>foo<Object[]>([1, '']) : Object[]
2015-04-13 23:01:57 +02:00
>foo : <T>(t: T) => T, Symbol(foo, Decl(genericCallWithArrayLiteralArgs.ts, 0, 0))
>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
>[1, ''] : (string | number)[]
2015-04-13 21:36:11 +02:00
>1 : number
>'' : string
2014-08-15 23:33:16 +02:00