=== tests/cases/compiler/restParameters.ts === function f18(a?:string, ...b:number[]){} >f18 : (a?: string, ...b: number[]) => void, Symbol(f18, Decl(restParameters.ts, 0, 0)) >a : string, Symbol(a, Decl(restParameters.ts, 0, 13)) >b : number[], Symbol(b, Decl(restParameters.ts, 0, 23)) function f19(a?:string, b?:number, ...c:number[]){} >f19 : (a?: string, b?: number, ...c: number[]) => void, Symbol(f19, Decl(restParameters.ts, 0, 40)) >a : string, Symbol(a, Decl(restParameters.ts, 2, 13)) >b : number, Symbol(b, Decl(restParameters.ts, 2, 23)) >c : number[], Symbol(c, Decl(restParameters.ts, 2, 34)) function f20(a:string, b?:string, ...c:number[]){} >f20 : (a: string, b?: string, ...c: number[]) => void, Symbol(f20, Decl(restParameters.ts, 2, 51)) >a : string, Symbol(a, Decl(restParameters.ts, 4, 13)) >b : string, Symbol(b, Decl(restParameters.ts, 4, 22)) >c : number[], Symbol(c, Decl(restParameters.ts, 4, 33)) function f21(a:string, b?:string, c?:number, ...d:number[]){} >f21 : (a: string, b?: string, c?: number, ...d: number[]) => void, Symbol(f21, Decl(restParameters.ts, 4, 50)) >a : string, Symbol(a, Decl(restParameters.ts, 6, 13)) >b : string, Symbol(b, Decl(restParameters.ts, 6, 22)) >c : number, Symbol(c, Decl(restParameters.ts, 6, 33)) >d : number[], Symbol(d, Decl(restParameters.ts, 6, 44))