//// [logicalOrExpressionIsNotContextuallyTyped.ts] // The || operator permits the operands to be of any type. // If the || expression is not contextually typed, the right operand is contextually typed // by the type of the left operand and the result is of the best common type of the two // operand types. var a: (a: string) => string; // bug 786110 var r = a || ((a) => a.toLowerCase()); //// [logicalOrExpressionIsNotContextuallyTyped.js] // The || operator permits the operands to be of any type. // If the || expression is not contextually typed, the right operand is contextually typed // by the type of the left operand and the result is of the best common type of the two // operand types. var a; // bug 786110 var r = a || (function (a) { return a.toLowerCase(); });