commaOperatorWithSecondOperandBooleanType.ts(8,6): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(9,1): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(9,10): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(10,1): error TS2454: Variable 'NUMBER' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(10,9): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(11,1): error TS2454: Variable 'STRING' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(11,9): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(12,1): error TS2454: Variable 'OBJECT' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(12,9): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(15,30): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(16,25): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(16,34): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(17,25): error TS2454: Variable 'NUMBER' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(17,33): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(18,25): error TS2454: Variable 'STRING' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(18,33): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(19,25): error TS2454: Variable 'OBJECT' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(19,33): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(22,7): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(23,18): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(25,3): error TS2454: Variable 'NUMBER' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(26,13): error TS2454: Variable 'BOOLEAN' is used before being assigned.
commaOperatorWithSecondOperandBooleanType.ts(32,27): error TS2454: Variable 'NUMBER' is used before being assigned.


==== commaOperatorWithSecondOperandBooleanType.ts (23 errors) ====
    var ANY: any;
    var BOOLEAN: boolean;
    var NUMBER: number;
    var STRING: string;
    var OBJECT: Object;
    
    //The second operand type is boolean
    ANY, BOOLEAN;
         ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    BOOLEAN, BOOLEAN;
    ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
             ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    NUMBER, BOOLEAN;
    ~~~~~~
!!! error TS2454: Variable 'NUMBER' is used before being assigned.
            ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    STRING, BOOLEAN;
    ~~~~~~
!!! error TS2454: Variable 'STRING' is used before being assigned.
            ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    OBJECT, BOOLEAN;
    ~~~~~~
!!! error TS2454: Variable 'OBJECT' is used before being assigned.
            ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    
    //Return type is boolean
    var resultIsBoolean1 = (ANY, BOOLEAN);
                                 ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    var resultIsBoolean2 = (BOOLEAN, BOOLEAN);
                            ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
                                     ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    var resultIsBoolean3 = (NUMBER, BOOLEAN);
                            ~~~~~~
!!! error TS2454: Variable 'NUMBER' is used before being assigned.
                                    ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    var resultIsBoolean4 = (STRING, BOOLEAN);
                            ~~~~~~
!!! error TS2454: Variable 'STRING' is used before being assigned.
                                    ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    var resultIsBoolean5 = (OBJECT, BOOLEAN);
                            ~~~~~~
!!! error TS2454: Variable 'OBJECT' is used before being assigned.
                                    ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    
    //Literal and expression
    null, BOOLEAN;
          ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    ANY = undefined, BOOLEAN;
                     ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    1, true;
    ++NUMBER, true;
      ~~~~~~
!!! error TS2454: Variable 'NUMBER' is used before being assigned.
    [1, 2, 3], !BOOLEAN;
                ~~~~~~~
!!! error TS2454: Variable 'BOOLEAN' is used before being assigned.
    OBJECT = [1, 2, 3], BOOLEAN = false;
    
    var resultIsBoolean6 = (null, BOOLEAN);
    var resultIsBoolean7 = (ANY = undefined, BOOLEAN);
    var resultIsBoolean8 = (1, true);
    var resultIsBoolean9 = (++NUMBER, true);
                              ~~~~~~
!!! error TS2454: Variable 'NUMBER' is used before being assigned.
    var resultIsBoolean10 = ([1, 2, 3], !BOOLEAN);
    var resultIsBoolean11 = (OBJECT = [1, 2, 3], BOOLEAN = false);
    