=== tests/cases/compiler/functionOverloads30.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; }, Symbol(foo, Decl(functionOverloads30.ts, 0, 0), Decl(functionOverloads30.ts, 0, 32), Decl(functionOverloads30.ts, 1, 32)) >bar : string, Symbol(bar, Decl(functionOverloads30.ts, 0, 13)) function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; }, Symbol(foo, Decl(functionOverloads30.ts, 0, 0), Decl(functionOverloads30.ts, 0, 32), Decl(functionOverloads30.ts, 1, 32)) >bar : number, Symbol(bar, Decl(functionOverloads30.ts, 1, 13)) function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; }, Symbol(foo, Decl(functionOverloads30.ts, 0, 0), Decl(functionOverloads30.ts, 0, 32), Decl(functionOverloads30.ts, 1, 32)) >bar : any, Symbol(bar, Decl(functionOverloads30.ts, 2, 13)) >bar : any, Symbol(bar, Decl(functionOverloads30.ts, 2, 13)) var x = foo('bar'); >x : string, Symbol(x, Decl(functionOverloads30.ts, 3, 3)) >foo('bar') : string >foo : { (bar: string): string; (bar: number): number; }, Symbol(foo, Decl(functionOverloads30.ts, 0, 0), Decl(functionOverloads30.ts, 0, 32), Decl(functionOverloads30.ts, 1, 32)) >'bar' : string