tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(15,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(16,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(17,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(18,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(19,10): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(20,14): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(21,14): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(22,15): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(23,17): error TS2531: Object is possibly 'null'.
tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts(24,20): error TS2531: Object is possibly 'null'.


==== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts (10 errors) ====
    // If one operand is the null or undefined value, it is treated as having the type of the other operand.
    
    enum E { a, b, c }
    
    var a: any;
    var b: number;
    var c: E;
    var d: string;
    
    // null + any
    var r1: any = null + a;
    var r2: any = a + null;
    
    // null + number/enum
    var r3 = null + b;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r4 = null + 1;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r5 = null + c;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r6 = null + E.a;
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r7 = null + E['a'];
             ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r8 = b + null;
                 ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r9 = 1 + null;
                 ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r10 = c + null
                  ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r11 = E.a + null;
                    ~~~~
!!! error TS2531: Object is possibly 'null'.
    var r12 = E['a'] + null;
                       ~~~~
!!! error TS2531: Object is possibly 'null'.
    
    // null + string
    var r13 = null + d;
    var r14 = null + '';
    var r15 = d + null;
    var r16 = '' + null;