arithmeticOperatorWithEnum.ts(13,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(14,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(14,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(15,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(15,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(16,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(17,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(17,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(19,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(23,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(27,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(28,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(28,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(29,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(29,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(30,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(31,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(31,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(33,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(37,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(41,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(42,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(42,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(43,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(43,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(44,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(45,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(45,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(47,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(51,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(55,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(56,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(56,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(57,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(57,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(58,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(59,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(59,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(61,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(65,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(69,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(70,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(70,16): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(71,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(71,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(72,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(73,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(73,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(75,18): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(79,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(83,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(84,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(84,16): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(85,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(85,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(86,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(87,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(87,16): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(89,18): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(93,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(97,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(98,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(98,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(99,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(99,17): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(100,17): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(101,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(101,17): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(103,19): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(107,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(111,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(112,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(112,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(113,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(113,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(114,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(115,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(115,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(117,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(121,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(125,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(126,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(126,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(127,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(127,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(128,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(129,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(129,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(131,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(135,12): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(139,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(140,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(140,15): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(141,11): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(141,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(142,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(143,11): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(143,15): error TS2454: Variable 'c' is used before being assigned.
arithmeticOperatorWithEnum.ts(145,17): error TS2454: Variable 'b' is used before being assigned.
arithmeticOperatorWithEnum.ts(149,12): error TS2454: Variable 'b' is used before being assigned.


==== arithmeticOperatorWithEnum.ts (100 errors) ====
    // operands of an enum type are treated as having the primitive type Number.
    
    enum E {
        a,
        b
    }
    
    var a: any;
    var b: number;
    var c: E;
    
    // operator *
    var ra1 = c * a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ra2 = c * b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ra3 = c * c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ra4 = a * c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ra5 = b * c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ra6 = E.a * a;
    var ra7 = E.a * b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ra8 = E.a * E.b;
    var ra9 = E.a * 1;
    var ra10 = a * E.b;
    var ra11 = b * E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ra12 = 1 * E.b;
    
    // operator /
    var rb1 = c / a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rb2 = c / b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rb3 = c / c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rb4 = a / c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rb5 = b / c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rb6 = E.a / a;
    var rb7 = E.a / b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rb8 = E.a / E.b;
    var rb9 = E.a / 1;
    var rb10 = a / E.b;
    var rb11 = b / E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rb12 = 1 / E.b;
    
    // operator %
    var rc1 = c % a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rc2 = c % b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rc3 = c % c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rc4 = a % c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rc5 = b % c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rc6 = E.a % a;
    var rc7 = E.a % b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rc8 = E.a % E.b;
    var rc9 = E.a % 1;
    var rc10 = a % E.b;
    var rc11 = b % E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rc12 = 1 % E.b;
    
    // operator -
    var rd1 = c - a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rd2 = c - b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rd3 = c - c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rd4 = a - c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rd5 = b - c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rd6 = E.a - a;
    var rd7 = E.a - b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rd8 = E.a - E.b;
    var rd9 = E.a - 1;
    var rd10 = a - E.b;
    var rd11 = b - E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rd12 = 1 - E.b;
    
    // operator <<
    var re1 = c << a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var re2 = c << b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                   ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var re3 = c << c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var re4 = a << c;
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var re5 = b << c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var re6 = E.a << a;
    var re7 = E.a << b;
                     ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var re8 = E.a << E.b;
    var re9 = E.a << 1;
    var re10 = a << E.b;
    var re11 = b << E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var re12 = 1 << E.b;
    
    // operator >>
    var rf1 = c >> a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rf2 = c >> b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                   ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rf3 = c >> c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rf4 = a >> c;
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rf5 = b >> c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rf6 = E.a >> a;
    var rf7 = E.a >> b;
                     ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rf8 = E.a >> E.b;
    var rf9 = E.a >> 1;
    var rf10 = a >> E.b;
    var rf11 = b >> E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rf12 = 1 >> E.b;
    
    // operator >>>
    var rg1 = c >>> a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rg2 = c >>> b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rg3 = c >>> c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rg4 = a >>> c;
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rg5 = b >>> c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rg6 = E.a >>> a;
    var rg7 = E.a >>> b;
                      ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rg8 = E.a >>> E.b;
    var rg9 = E.a >>> 1;
    var rg10 = a >>> E.b;
    var rg11 = b >>> E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rg12 = 1 >>> E.b;
    
    // operator &
    var rh1 = c & a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rh2 = c & b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rh3 = c & c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rh4 = a & c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rh5 = b & c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rh6 = E.a & a;
    var rh7 = E.a & b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rh8 = E.a & E.b;
    var rh9 = E.a & 1;
    var rh10 = a & E.b;
    var rh11 = b & E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rh12 = 1 & E.b;
    
    // operator ^
    var ri1 = c ^ a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ri2 = c ^ b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ri3 = c ^ c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ri4 = a ^ c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ri5 = b ^ c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var ri6 = E.a ^ a;
    var ri7 = E.a ^ b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ri8 = E.a ^ E.b;
    var ri9 = E.a ^ 1;
    var ri10 = a ^ E.b;
    var ri11 = b ^ E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var ri12 = 1 ^ E.b;
    
    // operator |
    var rj1 = c | a;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rj2 = c | b;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rj3 = c | c;
              ~
!!! error TS2454: Variable 'c' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rj4 = a | c;
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rj5 = b | c;
              ~
!!! error TS2454: Variable 'b' is used before being assigned.
                  ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var rj6 = E.a | a;
    var rj7 = E.a | b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rj8 = E.a | E.b;
    var rj9 = E.a | 1;
    var rj10 = a | E.b;
    var rj11 = b | E.b;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var rj12 = 1 | E.b;