TypeScript/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt
2014-07-12 17:30:19 -07:00

46 lines
1.9 KiB
Plaintext

==== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts (11 errors) ====
// If one operand is the null or undefined value, it is treated as having the type of the other operand.
function foo(): void { return undefined }
var a: boolean;
var b: Object;
var c: void;
var d: Number;
// undefined + boolean/Object
var r1 = undefined + a;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
var r2 = undefined + b;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
var r3 = undefined + c;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'void' and 'void'.
var r4 = a + undefined;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
var r5 = b + undefined;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'Object' and 'Object'.
var r6 = undefined + c;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'void' and 'void'.
// other cases
var r7 = undefined + d;
~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'Number' and 'Number'.
var r8 = undefined + true;
~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'boolean' and 'boolean'.
var r9 = undefined + { a: '' };
~~~~~~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types '{ a: string; }' and '{ a: string; }'.
var r10 = undefined + foo();
~~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'void' and 'void'.
var r11 = undefined + (() => { });
~~~~~~~~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types '() => void' and '() => void'.