tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(11,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(12,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(13,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(14,14): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(15,14): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(16,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(19,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(20,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(21,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(22,11): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts(23,11): error TS2531: Object is possibly 'null'.


==== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.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;
    
    // null + boolean/Object
    var r1 = null + a;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r2 = null + b;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r3 = null + c;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r4 = a + null;
                 ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r5 = b + null;
                 ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r6 = null + c;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    
    // other cases
    var r7 = null + d;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r8 = null + true;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r9 = null + { a: '' };
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r10 = null + foo();
              ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r11 = null + (() => { });
              ~~~~
!!! error TS2531: Object is possibly 'null'.