TypeScript/tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js
2015-02-06 18:45:09 -08:00

15 lines
791 B
JavaScript

//// [contextualTypingOfLambdaReturnExpression.ts]
function callb(lam: (l: number) => void);
function callb(lam: (n: string) => void);
function callb(a) { }
callb((a) => a.length); // Ok, we choose the second overload because the first one gave us an error when trying to resolve the lambda return type
callb((a) => { a.length; }); // Error, we picked the first overload and errored when type checking the lambda body
//// [contextualTypingOfLambdaReturnExpression.js]
function callb(a) { }
callb(function (a) { return a.length; }); // Ok, we choose the second overload because the first one gave us an error when trying to resolve the lambda return type
callb(function (a) {
a.length;
}); // Error, we picked the first overload and errored when type checking the lambda body