comparisonOperatorWithOneOperandIsAny.ts(34,16): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(35,16): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(36,16): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(38,16): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(39,16): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(40,16): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(42,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(43,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(44,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(46,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(47,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(48,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(51,16): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(52,16): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(53,16): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(55,16): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(56,16): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(57,16): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(59,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(60,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(61,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(63,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(64,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(65,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(68,17): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(69,17): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(70,17): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(72,17): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(73,17): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(74,17): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(76,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(77,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(78,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(80,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(81,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(82,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(85,17): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(86,17): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(87,17): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(89,17): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(90,17): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(91,17): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(93,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(94,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(95,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(97,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(98,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(99,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(102,17): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(103,17): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(104,17): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(106,17): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(107,17): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(108,17): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(110,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(111,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(112,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(114,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(115,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(116,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(119,17): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(120,17): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(121,17): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(123,17): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(124,17): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(125,17): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(127,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(128,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(129,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(131,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(132,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(133,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(136,18): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(137,18): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(138,18): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(140,18): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(141,18): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(142,18): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(144,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(145,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(146,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(148,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(149,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(150,12): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(153,18): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(154,18): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(155,18): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(157,18): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(158,18): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(159,18): error TS2454: Variable 'g' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(161,12): error TS2454: Variable 'a' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(162,12): error TS2454: Variable 'b' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(163,12): error TS2454: Variable 'c' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(165,12): error TS2454: Variable 'e' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(166,12): error TS2454: Variable 'f' is used before being assigned.
comparisonOperatorWithOneOperandIsAny.ts(167,12): error TS2454: Variable 'g' is used before being assigned.


==== comparisonOperatorWithOneOperandIsAny.ts (96 errors) ====
    var x: any;
    
    enum E { a, b, c }
    
    function foo<T>(t: T) {
        var foo_r1 = t < x;
        var foo_r2 = t > x;
        var foo_r3 = t <= x;
        var foo_r4 = t >= x;
        var foo_r5 = t == x;
        var foo_r6 = t != x;
        var foo_r7 = t === x;
        var foo_r8 = t !== x;
    
        var foo_r1 = x < t;
        var foo_r2 = x > t;
        var foo_r3 = x <= t;
        var foo_r4 = x >= t;
        var foo_r5 = x == t;
        var foo_r6 = x != t;
        var foo_r7 = x === t;
        var foo_r8 = x !== t;
    }
    
    var a: boolean;
    var b: number;
    var c: string;
    var d: void;
    var e: E;
    var f: {};
    var g: string[];
    
    // operator <
    var r1a1 = x < a;
                   ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r1a2 = x < b;
                   ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r1a3 = x < c;
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r1a4 = x < d;
    var r1a5 = x < e;
                   ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r1a6 = x < f;
                   ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r1a7 = x < g;
                   ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r1b1 = a < x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r1b2 = b < x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r1b3 = c < x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r1b4 = d < x;
    var r1b5 = e < x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r1b6 = f < x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r1b7 = g < x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator >
    var r2a1 = x > a;
                   ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r2a2 = x > b;
                   ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r2a3 = x > c;
                   ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r2a4 = x > d;
    var r2a5 = x > e;
                   ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r2a6 = x > f;
                   ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r2a7 = x > g;
                   ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r2b1 = a > x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r2b2 = b > x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r2b3 = c > x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r2b4 = d > x;
    var r2b5 = e > x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r2b6 = f > x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r2b7 = g > x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator <=
    var r3a1 = x <= a;
                    ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r3a2 = x <= b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r3a3 = x <= c;
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r3a4 = x <= d;
    var r3a5 = x <= e;
                    ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r3a6 = x <= f;
                    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r3a7 = x <= g;
                    ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r3b1 = a <= x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r3b2 = b <= x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r3b3 = c <= x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r3b4 = d <= x;
    var r3b5 = e <= x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r3b6 = f <= x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r3b7 = g <= x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator >=
    var r4a1 = x >= a;
                    ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r4a2 = x >= b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r4a3 = x >= c;
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r4a4 = x >= d;
    var r4a5 = x >= e;
                    ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r4a6 = x >= f;
                    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r4a7 = x >= g;
                    ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r4b1 = a >= x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r4b2 = b >= x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r4b3 = c >= x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r4b4 = d >= x;
    var r4b5 = e >= x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r4b6 = f >= x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r4b7 = g >= x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator ==
    var r5a1 = x == a;
                    ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r5a2 = x == b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r5a3 = x == c;
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r5a4 = x == d;
    var r5a5 = x == e;
                    ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r5a6 = x == f;
                    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r5a7 = x == g;
                    ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r5b1 = a == x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r5b2 = b == x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r5b3 = c == x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r5b4 = d == x;
    var r5b5 = e == x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r5b6 = f == x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r5b7 = g == x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator !=
    var r6a1 = x != a;
                    ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r6a2 = x != b;
                    ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r6a3 = x != c;
                    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r6a4 = x != d;
    var r6a5 = x != e;
                    ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r6a6 = x != f;
                    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r6a7 = x != g;
                    ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r6b1 = a != x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r6b2 = b != x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r6b3 = c != x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r6b4 = d != x;
    var r6b5 = e != x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r6b6 = f != x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r6b7 = g != x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator ===
    var r7a1 = x === a;
                     ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r7a2 = x === b;
                     ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r7a3 = x === c;
                     ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r7a4 = x === d;
    var r7a5 = x === e;
                     ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r7a6 = x === f;
                     ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r7a7 = x === g;
                     ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r7b1 = a === x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r7b2 = b === x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r7b3 = c === x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r7b4 = d === x;
    var r7b5 = e === x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r7b6 = f === x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r7b7 = g === x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    // operator !==
    var r8a1 = x !== a;
                     ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r8a2 = x !== b;
                     ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r8a3 = x !== c;
                     ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r8a4 = x !== d;
    var r8a5 = x !== e;
                     ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r8a6 = x !== f;
                     ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r8a7 = x !== g;
                     ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    var r8b1 = a !== x;
               ~
!!! error TS2454: Variable 'a' is used before being assigned.
    var r8b2 = b !== x;
               ~
!!! error TS2454: Variable 'b' is used before being assigned.
    var r8b3 = c !== x;
               ~
!!! error TS2454: Variable 'c' is used before being assigned.
    var r8b4 = d !== x;
    var r8b5 = e !== x;
               ~
!!! error TS2454: Variable 'e' is used before being assigned.
    var r8b6 = f !== x;
               ~
!!! error TS2454: Variable 'f' is used before being assigned.
    var r8b7 = g !== x;
               ~
!!! error TS2454: Variable 'g' is used before being assigned.