1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
=== tests/cases/compiler/inferTypeArgumentsInSignatureWithRestParameters.ts ===
function f<T>(array: T[], ...args) { }
>f : <T>(array: T[], ...args: any[]) => void
>array : T[]
>args : any[]
function g(array: number[], ...args) { }
>g : (array: number[], ...args: any[]) => void
>array : number[]
>args : any[]
function h<T>(nonarray: T, ...args) { }
>h : <T>(nonarray: T, ...args: any[]) => void
>nonarray : T
>args : any[]
function i<T>(array: T[], opt?: any[]) { }
>i : <T>(array: T[], opt?: any[]) => void
>array : T[]
>opt : any[]
var a = [1, 2, 3, 4, 5];
>a : number[]
>[1, 2, 3, 4, 5] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
>5 : 5
f(a); // OK
>f(a) : void
>f : <T>(array: T[], ...args: any[]) => void
>a : number[]
g(a); // OK
>g(a) : void
>g : (array: number[], ...args: any[]) => void
>a : number[]
h(a); // OK
>h(a) : void
>h : <T>(nonarray: T, ...args: any[]) => void
>a : number[]
i(a); // OK
>i(a) : void
>i : <T>(array: T[], opt?: any[]) => void
>a : number[]
|