TypeScript Version: 3.8.0-dev.20191121
Search Terms:
callback overload mismatch
Code
declarefunctionfn(x: string): string;declarefunctionfn(x: string[]): string;declarefunctionmap<A,R>(fn: (item: A)=>R,list: A[]): R[];constmapped=map(fn,['1'])// error
Expected behavior:
TypeScript does infer A as string and could choose the right overload fn(x: string), decline the ones that don't fit.
Actual behavior:
Checks the last overload only, so it shows an error.
Playground Link:http://www.typescriptlang.org/play/?ssl=7&ssc=1&pln=1&pc=1#code/CYUwxgNghgTiAEAzArgOzAFwJYHtVNQAoAPALngGcMYtUBzASnKpvoG4AoUSWBFdbHgIlm1WnQDaAXSaUx7Dl3DQ4SNJlz4AtlAAOAHgCCAGngAlAHyFEqcoSwYQW8oYbwAvBfOmIWKi+lZM2lODjA8KngdXV0QYA8ovWtUUwkAcgBGNJkOIA
Related Issues:
TypeScript Version: 3.8.0-dev.20191121
Search Terms:
callback overload mismatch
Code
Expected behavior:
TypeScript does infer
Aasstringand could choose the right overloadfn(x: string), decline the ones that don't fit.Actual behavior:
Checks the last overload only, so it shows an error.
Playground Link:http://www.typescriptlang.org/play/?ssl=7&ssc=1&pln=1&pc=1#code/CYUwxgNghgTiAEAzArgOzAFwJYHtVNQAoAPALngGcMYtUBzASnKpvoG4AoUSWBFdbHgIlm1WnQDaAXSaUx7Dl3DQ4SNJlz4AtlAAOAHgCCAGngAlAHyFEqcoSwYQW8oYbwAvBfOmIWKi+lZM2lODjA8KngdXV0QYA8ovWtUUwkAcgBGNJkOIA
Related Issues: