tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(4,22): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(5,22): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(6,23): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(7,23): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(13,18): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(14,18): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(15,18): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(16,18): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(32,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(33,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(34,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(35,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(36,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(37,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(38,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(40,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(41,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(42,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(43,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(44,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(45,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(46,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(49,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(50,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(51,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(52,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(53,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(54,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(55,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(57,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(58,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(59,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(60,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(61,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(62,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(63,16): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(66,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(67,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(68,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(69,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(70,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(71,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(72,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(74,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(75,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(76,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(77,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(78,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(79,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(80,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(83,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(84,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(85,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(86,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(87,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(88,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(89,12): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(91,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(92,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(93,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(94,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(95,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(96,17): error TS18050: The value 'null' cannot be used here.
tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts(97,17): error TS18050: The value 'null' cannot be used here.


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