//// [overloadsWithProvisionalErrors.ts] var func: { (s: string): number; (lambda: (s: string) => { a: number; b: number }): string; }; func(s => ({})); // Error for no applicable overload (object type is missing a and b) func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outside (since it would be applicable if not for the provisional error) func(s => ({ a: blah })); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway //// [overloadsWithProvisionalErrors.js] var func; func(function (s) { return ({}); }); // Error for no applicable overload (object type is missing a and b) func(function (s) { return ({ a: blah, b: 3 }); }); // Only error inside the function, but not outside (since it would be applicable if not for the provisional error) func(function (s) { return ({ a: blah }); }); // Two errors here, one for blah not being defined, and one for the overload since it would not be applicable anyway