=== tests/cases/compiler/overloadsAndTypeArgumentArity.ts === declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >flags : string, Symbol(flags, Decl(overloadsAndTypeArgumentArity.ts, 0, 27)) declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >T : T, Symbol(T, Decl(overloadsAndTypeArgumentArity.ts, 1, 27)) >flags : string, Symbol(flags, Decl(overloadsAndTypeArgumentArity.ts, 1, 30)) declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >T1 : T1, Symbol(T1, Decl(overloadsAndTypeArgumentArity.ts, 2, 27)) >T2 : T2, Symbol(T2, Decl(overloadsAndTypeArgumentArity.ts, 2, 30)) >flags : string, Symbol(flags, Decl(overloadsAndTypeArgumentArity.ts, 2, 35)) declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >T1 : T1, Symbol(T1, Decl(overloadsAndTypeArgumentArity.ts, 3, 27)) >T2 : T2, Symbol(T2, Decl(overloadsAndTypeArgumentArity.ts, 3, 30)) >T3 : T3, Symbol(T3, Decl(overloadsAndTypeArgumentArity.ts, 3, 34)) >flags : string, Symbol(flags, Decl(overloadsAndTypeArgumentArity.ts, 3, 39)) Callbacks('s'); // no error >Callbacks('s') : void >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >'s' : string new Callbacks('s'); // no error >new Callbacks('s') : any >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; }, Symbol(Callbacks, Decl(overloadsAndTypeArgumentArity.ts, 0, 0), Decl(overloadsAndTypeArgumentArity.ts, 0, 49), Decl(overloadsAndTypeArgumentArity.ts, 1, 52), Decl(overloadsAndTypeArgumentArity.ts, 2, 57)) >'s' : string