tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(6,15): error TS2365: Operator '<' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(7,15): error TS2365: Operator '>' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(8,15): error TS2365: Operator '<=' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(9,15): error TS2365: Operator '>=' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(10,15): error TS2365: Operator '==' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(11,15): error TS2365: Operator '!=' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(12,15): error TS2365: Operator '===' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(13,15): error TS2365: Operator '!==' cannot be applied to types 'T' and 'U'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(15,15): error TS2365: Operator '<' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(16,15): error TS2365: Operator '>' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(17,15): error TS2365: Operator '<=' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(18,15): error TS2365: Operator '>=' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(19,15): error TS2365: Operator '==' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(20,15): error TS2365: Operator '!=' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(21,15): error TS2365: Operator '===' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(22,15): error TS2365: Operator '!==' cannot be applied to types 'U' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(24,15): error TS2365: Operator '<' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(25,15): error TS2365: Operator '>' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(26,15): error TS2365: Operator '<=' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(27,15): error TS2365: Operator '>=' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(28,15): error TS2365: Operator '==' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(29,15): error TS2365: Operator '!=' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(30,15): error TS2365: Operator '===' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(31,15): error TS2365: Operator '!==' cannot be applied to types 'T' and 'V'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(33,15): error TS2365: Operator '<' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(34,15): error TS2365: Operator '>' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(35,15): error TS2365: Operator '<=' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(36,15): error TS2365: Operator '>=' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(37,15): error TS2365: Operator '==' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(38,15): error TS2365: Operator '!=' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(39,15): error TS2365: Operator '===' cannot be applied to types 'V' and 'T'. tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts(40,15): error TS2365: Operator '!==' cannot be applied to types 'V' and 'T'. ==== tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts (32 errors) ==== var a: {}; var b: Object; function foo(t: T, u: U, v: V) { // errors var ra1 = t < u; ~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'T' and 'U'. var ra2 = t > u; ~~~~~ !!! error TS2365: Operator '>' cannot be applied to types 'T' and 'U'. var ra3 = t <= u; ~~~~~~ !!! error TS2365: Operator '<=' cannot be applied to types 'T' and 'U'. var ra4 = t >= u; ~~~~~~ !!! error TS2365: Operator '>=' cannot be applied to types 'T' and 'U'. var ra5 = t == u; ~~~~~~ !!! error TS2365: Operator '==' cannot be applied to types 'T' and 'U'. var ra6 = t != u; ~~~~~~ !!! error TS2365: Operator '!=' cannot be applied to types 'T' and 'U'. var ra7 = t === u; ~~~~~~~ !!! error TS2365: Operator '===' cannot be applied to types 'T' and 'U'. var ra8 = t !== u; ~~~~~~~ !!! error TS2365: Operator '!==' cannot be applied to types 'T' and 'U'. var rb1 = u < t; ~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'U' and 'T'. var rb2 = u > t; ~~~~~ !!! error TS2365: Operator '>' cannot be applied to types 'U' and 'T'. var rb3 = u <= t; ~~~~~~ !!! error TS2365: Operator '<=' cannot be applied to types 'U' and 'T'. var rb4 = u >= t; ~~~~~~ !!! error TS2365: Operator '>=' cannot be applied to types 'U' and 'T'. var rb5 = u == t; ~~~~~~ !!! error TS2365: Operator '==' cannot be applied to types 'U' and 'T'. var rb6 = u != t; ~~~~~~ !!! error TS2365: Operator '!=' cannot be applied to types 'U' and 'T'. var rb7 = u === t; ~~~~~~~ !!! error TS2365: Operator '===' cannot be applied to types 'U' and 'T'. var rb8 = u !== t; ~~~~~~~ !!! error TS2365: Operator '!==' cannot be applied to types 'U' and 'T'. var rc1 = t < v; ~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'T' and 'V'. var rc2 = t > v; ~~~~~ !!! error TS2365: Operator '>' cannot be applied to types 'T' and 'V'. var rc3 = t <= v; ~~~~~~ !!! error TS2365: Operator '<=' cannot be applied to types 'T' and 'V'. var rc4 = t >= v; ~~~~~~ !!! error TS2365: Operator '>=' cannot be applied to types 'T' and 'V'. var rc5 = t == v; ~~~~~~ !!! error TS2365: Operator '==' cannot be applied to types 'T' and 'V'. var rc6 = t != v; ~~~~~~ !!! error TS2365: Operator '!=' cannot be applied to types 'T' and 'V'. var rc7 = t === v; ~~~~~~~ !!! error TS2365: Operator '===' cannot be applied to types 'T' and 'V'. var rc8 = t !== v; ~~~~~~~ !!! error TS2365: Operator '!==' cannot be applied to types 'T' and 'V'. var rd1 = v < t; ~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'V' and 'T'. var rd2 = v > t; ~~~~~ !!! error TS2365: Operator '>' cannot be applied to types 'V' and 'T'. var rd3 = v <= t; ~~~~~~ !!! error TS2365: Operator '<=' cannot be applied to types 'V' and 'T'. var rd4 = v >= t; ~~~~~~ !!! error TS2365: Operator '>=' cannot be applied to types 'V' and 'T'. var rd5 = v == t; ~~~~~~ !!! error TS2365: Operator '==' cannot be applied to types 'V' and 'T'. var rd6 = v != t; ~~~~~~ !!! error TS2365: Operator '!=' cannot be applied to types 'V' and 'T'. var rd7 = v === t; ~~~~~~~ !!! error TS2365: Operator '===' cannot be applied to types 'V' and 'T'. var rd8 = v !== t; ~~~~~~~ !!! error TS2365: Operator '!==' cannot be applied to types 'V' and 'T'. // ok var re1 = t < a; var re2 = t > a; var re3 = t <= a; var re4 = t >= a; var re5 = t == a; var re6 = t != a; var re7 = t === a; var re8 = t !== a; var rf1 = a < t; var rf2 = a > t; var rf3 = a <= t; var rf4 = a >= t; var rf5 = a == t; var rf6 = a != t; var rf7 = a === t; var rf8 = a !== t; var rg1 = t < b; var rg2 = t > b; var rg3 = t <= b; var rg4 = t >= b; var rg5 = t == b; var rg6 = t != b; var rg7 = t === b; var rg8 = t !== b; var rh1 = b < t; var rh2 = b > t; var rh3 = b <= t; var rh4 = b >= t; var rh5 = b == t; var rh6 = b != t; var rh7 = b === t; var rh8 = b !== t; }