==== tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts (3 errors) ==== function x3(a: number, cb: (x: number) => number); function x3(a: string, cb: (x: number) => number); function x3(a: any, cb: (x: number) => number) { cb(a); } // both are errors x3(1, (x: string) => 1); ~ !!! Argument of type 'number' is not assignable to parameter of type 'string'. x3(1, (x: 'hm') => 1); ~ !!! Argument of type 'number' is not assignable to parameter of type 'string'. ~~~~~~~~~~~~~~ !!! A signature with an implementation cannot use a string literal type.