compoundAdditionAssignmentLHSCanBeAssigned.ts(32,7): error TS18050: The value 'null' cannot be used here.
compoundAdditionAssignmentLHSCanBeAssigned.ts(33,7): error TS18050: The value 'undefined' cannot be used here.
compoundAdditionAssignmentLHSCanBeAssigned.ts(39,7): error TS18050: The value 'null' cannot be used here.
compoundAdditionAssignmentLHSCanBeAssigned.ts(40,7): error TS18050: The value 'undefined' cannot be used here.


==== compoundAdditionAssignmentLHSCanBeAssigned.ts (4 errors) ====
    enum E { a, b }
    
    declare var a: any;
    declare var b: void;
    
    declare var x1: any;
    x1 += a;
    x1 += b;
    x1 += true;
    x1 += 0;
    x1 += '';
    x1 += E.a;
    x1 += {};
    x1 += null;
    x1 += undefined;
    
    declare var x2: string;
    x2 += a;
    x2 += b;
    x2 += true;
    x2 += 0;
    x2 += '';
    x2 += E.a;
    x2 += {};
    x2 += null;
    x2 += undefined;
    
    declare var x3: number;
    x3 += a;
    x3 += 0;
    x3 += E.a;
    x3 += null;
          ~~~~
!!! error TS18050: The value 'null' cannot be used here.
    x3 += undefined;
          ~~~~~~~~~
!!! error TS18050: The value 'undefined' cannot be used here.
    
    declare var x4: E;
    x4 += a;
    x4 += 0;
    x4 += E.a;
    x4 += null;
          ~~~~
!!! error TS18050: The value 'null' cannot be used here.
    x4 += undefined;
          ~~~~~~~~~
!!! error TS18050: The value 'undefined' cannot be used here.
    
    declare var x5: boolean;
    x5 += a;
    
    declare var x6: {};
    x6 += a;
    x6 += '';
    
    declare var x7: void;
    x7 += a;