168 lines
4 KiB
Plaintext
168 lines
4 KiB
Plaintext
=== tests/cases/conformance/expressions/functionCalls/callWithSpread2.ts ===
|
|
declare function all(a?: number, b?: number): void;
|
|
>all : (a?: number, b?: number) => void
|
|
>a : number
|
|
>b : number
|
|
|
|
declare function weird(a?: number | string, b?: number | string): void;
|
|
>weird : (a?: string | number, b?: string | number) => void
|
|
>a : string | number
|
|
>b : string | number
|
|
|
|
declare function prefix(s: string, a?: number, b?: number): void;
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>s : string
|
|
>a : number
|
|
>b : number
|
|
|
|
declare function rest(s: string, a?: number, b?: number, ...rest: number[]): void;
|
|
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
|
|
>s : string
|
|
>a : number
|
|
>b : number
|
|
>rest : number[]
|
|
|
|
declare function normal(s: string): void;
|
|
>normal : (s: string) => void
|
|
>s : string
|
|
|
|
declare function thunk(): string;
|
|
>thunk : () => string
|
|
|
|
declare function prefix2(s: string, n: number, a?: number, b?: number): void;
|
|
>prefix2 : (s: string, n: number, a?: number, b?: number) => void
|
|
>s : string
|
|
>n : number
|
|
>a : number
|
|
>b : number
|
|
|
|
declare var ns: number[];
|
|
>ns : number[]
|
|
|
|
declare var mixed: (number | string)[];
|
|
>mixed : (string | number)[]
|
|
|
|
declare var tuple: [number, string];
|
|
>tuple : [number, string]
|
|
|
|
// good
|
|
all(...ns)
|
|
>all(...ns) : void
|
|
>all : (a?: number, b?: number) => void
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
weird(...ns)
|
|
>weird(...ns) : void
|
|
>weird : (a?: string | number, b?: string | number) => void
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
weird(...mixed)
|
|
>weird(...mixed) : void
|
|
>weird : (a?: string | number, b?: string | number) => void
|
|
>...mixed : string | number
|
|
>mixed : (string | number)[]
|
|
|
|
weird(...tuple)
|
|
>weird(...tuple) : void
|
|
>weird : (a?: string | number, b?: string | number) => void
|
|
>...tuple : string | number
|
|
>tuple : [number, string]
|
|
|
|
prefix("a", ...ns)
|
|
>prefix("a", ...ns) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>"a" : "a"
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
rest("d", ...ns)
|
|
>rest("d", ...ns) : void
|
|
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
|
|
>"d" : "d"
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
|
|
// extra arguments
|
|
normal("g", ...ns)
|
|
>normal("g", ...ns) : void
|
|
>normal : (s: string) => void
|
|
>"g" : "g"
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
thunk(...ns)
|
|
>thunk(...ns) : string
|
|
>thunk : () => string
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
// bad
|
|
all(...mixed)
|
|
>all(...mixed) : void
|
|
>all : (a?: number, b?: number) => void
|
|
>...mixed : string | number
|
|
>mixed : (string | number)[]
|
|
|
|
all(...tuple)
|
|
>all(...tuple) : void
|
|
>all : (a?: number, b?: number) => void
|
|
>...tuple : string | number
|
|
>tuple : [number, string]
|
|
|
|
prefix("b", ...mixed)
|
|
>prefix("b", ...mixed) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>"b" : "b"
|
|
>...mixed : string | number
|
|
>mixed : (string | number)[]
|
|
|
|
prefix("c", ...tuple)
|
|
>prefix("c", ...tuple) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>"c" : "c"
|
|
>...tuple : string | number
|
|
>tuple : [number, string]
|
|
|
|
rest("e", ...mixed)
|
|
>rest("e", ...mixed) : void
|
|
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
|
|
>"e" : "e"
|
|
>...mixed : string | number
|
|
>mixed : (string | number)[]
|
|
|
|
rest("f", ...tuple)
|
|
>rest("f", ...tuple) : void
|
|
>rest : (s: string, a?: number, b?: number, ...rest: number[]) => void
|
|
>"f" : "f"
|
|
>...tuple : string | number
|
|
>tuple : [number, string]
|
|
|
|
prefix(...ns) // required parameters are required
|
|
>prefix(...ns) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>...ns : number
|
|
>ns : number[]
|
|
|
|
prefix(...mixed)
|
|
>prefix(...mixed) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>...mixed : string | number
|
|
>mixed : (string | number)[]
|
|
|
|
prefix(...tuple)
|
|
>prefix(...tuple) : void
|
|
>prefix : (s: string, a?: number, b?: number) => void
|
|
>...tuple : string | number
|
|
>tuple : [number, string]
|
|
|
|
prefix2("g", ...ns);
|
|
>prefix2("g", ...ns) : void
|
|
>prefix2 : (s: string, n: number, a?: number, b?: number) => void
|
|
>"g" : "g"
|
|
>...ns : number
|
|
>ns : number[]
|
|
|