TypeScript/tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt
2014-07-12 17:30:19 -07:00

504 lines
17 KiB
Plaintext

==== tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts (144 errors) ====
enum E { a, b, c }
var a: number;
var b: boolean;
var c: string;
var d: void;
var e: E;
// operator <
var r1a1 = a < b;
~~~~~
!!! Operator '<' cannot be applied to types 'number' and 'boolean'.
var r1a1 = a < c;
~~~~~
!!! Operator '<' cannot be applied to types 'number' and 'string'.
var r1a1 = a < d;
~~~~~
!!! Operator '<' cannot be applied to types 'number' and 'void'.
var r1a1 = a < e; // no error, expected
var r1b1 = b < a;
~~~~~
!!! Operator '<' cannot be applied to types 'boolean' and 'number'.
var r1b1 = b < c;
~~~~~
!!! Operator '<' cannot be applied to types 'boolean' and 'string'.
var r1b1 = b < d;
~~~~~
!!! Operator '<' cannot be applied to types 'boolean' and 'void'.
var r1b1 = b < e;
~~~~~
!!! Operator '<' cannot be applied to types 'boolean' and 'E'.
var r1c1 = c < a;
~~~~~
!!! Operator '<' cannot be applied to types 'string' and 'number'.
var r1c1 = c < b;
~~~~~
!!! Operator '<' cannot be applied to types 'string' and 'boolean'.
var r1c1 = c < d;
~~~~~
!!! Operator '<' cannot be applied to types 'string' and 'void'.
var r1c1 = c < e;
~~~~~
!!! Operator '<' cannot be applied to types 'string' and 'E'.
var r1d1 = d < a;
~~~~~
!!! Operator '<' cannot be applied to types 'void' and 'number'.
var r1d1 = d < b;
~~~~~
!!! Operator '<' cannot be applied to types 'void' and 'boolean'.
var r1d1 = d < c;
~~~~~
!!! Operator '<' cannot be applied to types 'void' and 'string'.
var r1d1 = d < e;
~~~~~
!!! Operator '<' cannot be applied to types 'void' and 'E'.
var r1e1 = e < a; // no error, expected
var r1e1 = e < b;
~~~~~
!!! Operator '<' cannot be applied to types 'E' and 'boolean'.
var r1e1 = e < c;
~~~~~
!!! Operator '<' cannot be applied to types 'E' and 'string'.
var r1e1 = e < d;
~~~~~
!!! Operator '<' cannot be applied to types 'E' and 'void'.
// operator >
var r2a1 = a > b;
~~~~~
!!! Operator '>' cannot be applied to types 'number' and 'boolean'.
var r2a1 = a > c;
~~~~~
!!! Operator '>' cannot be applied to types 'number' and 'string'.
var r2a1 = a > d;
~~~~~
!!! Operator '>' cannot be applied to types 'number' and 'void'.
var r2a1 = a > e; // no error, expected
var r2b1 = b > a;
~~~~~
!!! Operator '>' cannot be applied to types 'boolean' and 'number'.
var r2b1 = b > c;
~~~~~
!!! Operator '>' cannot be applied to types 'boolean' and 'string'.
var r2b1 = b > d;
~~~~~
!!! Operator '>' cannot be applied to types 'boolean' and 'void'.
var r2b1 = b > e;
~~~~~
!!! Operator '>' cannot be applied to types 'boolean' and 'E'.
var r2c1 = c > a;
~~~~~
!!! Operator '>' cannot be applied to types 'string' and 'number'.
var r2c1 = c > b;
~~~~~
!!! Operator '>' cannot be applied to types 'string' and 'boolean'.
var r2c1 = c > d;
~~~~~
!!! Operator '>' cannot be applied to types 'string' and 'void'.
var r2c1 = c > e;
~~~~~
!!! Operator '>' cannot be applied to types 'string' and 'E'.
var r2d1 = d > a;
~~~~~
!!! Operator '>' cannot be applied to types 'void' and 'number'.
var r2d1 = d > b;
~~~~~
!!! Operator '>' cannot be applied to types 'void' and 'boolean'.
var r2d1 = d > c;
~~~~~
!!! Operator '>' cannot be applied to types 'void' and 'string'.
var r2d1 = d > e;
~~~~~
!!! Operator '>' cannot be applied to types 'void' and 'E'.
var r2e1 = e > a; // no error, expected
var r2e1 = e > b;
~~~~~
!!! Operator '>' cannot be applied to types 'E' and 'boolean'.
var r2e1 = e > c;
~~~~~
!!! Operator '>' cannot be applied to types 'E' and 'string'.
var r2e1 = e > d;
~~~~~
!!! Operator '>' cannot be applied to types 'E' and 'void'.
// operator <=
var r3a1 = a <= b;
~~~~~~
!!! Operator '<=' cannot be applied to types 'number' and 'boolean'.
var r3a1 = a <= c;
~~~~~~
!!! Operator '<=' cannot be applied to types 'number' and 'string'.
var r3a1 = a <= d;
~~~~~~
!!! Operator '<=' cannot be applied to types 'number' and 'void'.
var r3a1 = a <= e; // no error, expected
var r3b1 = b <= a;
~~~~~~
!!! Operator '<=' cannot be applied to types 'boolean' and 'number'.
var r3b1 = b <= c;
~~~~~~
!!! Operator '<=' cannot be applied to types 'boolean' and 'string'.
var r3b1 = b <= d;
~~~~~~
!!! Operator '<=' cannot be applied to types 'boolean' and 'void'.
var r3b1 = b <= e;
~~~~~~
!!! Operator '<=' cannot be applied to types 'boolean' and 'E'.
var r3c1 = c <= a;
~~~~~~
!!! Operator '<=' cannot be applied to types 'string' and 'number'.
var r3c1 = c <= b;
~~~~~~
!!! Operator '<=' cannot be applied to types 'string' and 'boolean'.
var r3c1 = c <= d;
~~~~~~
!!! Operator '<=' cannot be applied to types 'string' and 'void'.
var r3c1 = c <= e;
~~~~~~
!!! Operator '<=' cannot be applied to types 'string' and 'E'.
var r3d1 = d <= a;
~~~~~~
!!! Operator '<=' cannot be applied to types 'void' and 'number'.
var r3d1 = d <= b;
~~~~~~
!!! Operator '<=' cannot be applied to types 'void' and 'boolean'.
var r3d1 = d <= c;
~~~~~~
!!! Operator '<=' cannot be applied to types 'void' and 'string'.
var r3d1 = d <= e;
~~~~~~
!!! Operator '<=' cannot be applied to types 'void' and 'E'.
var r3e1 = e <= a; // no error, expected
var r3e1 = e <= b;
~~~~~~
!!! Operator '<=' cannot be applied to types 'E' and 'boolean'.
var r3e1 = e <= c;
~~~~~~
!!! Operator '<=' cannot be applied to types 'E' and 'string'.
var r3e1 = e <= d;
~~~~~~
!!! Operator '<=' cannot be applied to types 'E' and 'void'.
// operator >=
var r4a1 = a >= b;
~~~~~~
!!! Operator '>=' cannot be applied to types 'number' and 'boolean'.
var r4a1 = a >= c;
~~~~~~
!!! Operator '>=' cannot be applied to types 'number' and 'string'.
var r4a1 = a >= d;
~~~~~~
!!! Operator '>=' cannot be applied to types 'number' and 'void'.
var r4a1 = a >= e; // no error, expected
var r4b1 = b >= a;
~~~~~~
!!! Operator '>=' cannot be applied to types 'boolean' and 'number'.
var r4b1 = b >= c;
~~~~~~
!!! Operator '>=' cannot be applied to types 'boolean' and 'string'.
var r4b1 = b >= d;
~~~~~~
!!! Operator '>=' cannot be applied to types 'boolean' and 'void'.
var r4b1 = b >= e;
~~~~~~
!!! Operator '>=' cannot be applied to types 'boolean' and 'E'.
var r4c1 = c >= a;
~~~~~~
!!! Operator '>=' cannot be applied to types 'string' and 'number'.
var r4c1 = c >= b;
~~~~~~
!!! Operator '>=' cannot be applied to types 'string' and 'boolean'.
var r4c1 = c >= d;
~~~~~~
!!! Operator '>=' cannot be applied to types 'string' and 'void'.
var r4c1 = c >= e;
~~~~~~
!!! Operator '>=' cannot be applied to types 'string' and 'E'.
var r4d1 = d >= a;
~~~~~~
!!! Operator '>=' cannot be applied to types 'void' and 'number'.
var r4d1 = d >= b;
~~~~~~
!!! Operator '>=' cannot be applied to types 'void' and 'boolean'.
var r4d1 = d >= c;
~~~~~~
!!! Operator '>=' cannot be applied to types 'void' and 'string'.
var r4d1 = d >= e;
~~~~~~
!!! Operator '>=' cannot be applied to types 'void' and 'E'.
var r4e1 = e >= a; // no error, expected
var r4e1 = e >= b;
~~~~~~
!!! Operator '>=' cannot be applied to types 'E' and 'boolean'.
var r4e1 = e >= c;
~~~~~~
!!! Operator '>=' cannot be applied to types 'E' and 'string'.
var r4e1 = e >= d;
~~~~~~
!!! Operator '>=' cannot be applied to types 'E' and 'void'.
// operator ==
var r5a1 = a == b;
~~~~~~
!!! Operator '==' cannot be applied to types 'number' and 'boolean'.
var r5a1 = a == c;
~~~~~~
!!! Operator '==' cannot be applied to types 'number' and 'string'.
var r5a1 = a == d;
~~~~~~
!!! Operator '==' cannot be applied to types 'number' and 'void'.
var r5a1 = a == e; // no error, expected
var r5b1 = b == a;
~~~~~~
!!! Operator '==' cannot be applied to types 'boolean' and 'number'.
var r5b1 = b == c;
~~~~~~
!!! Operator '==' cannot be applied to types 'boolean' and 'string'.
var r5b1 = b == d;
~~~~~~
!!! Operator '==' cannot be applied to types 'boolean' and 'void'.
var r5b1 = b == e;
~~~~~~
!!! Operator '==' cannot be applied to types 'boolean' and 'E'.
var r5c1 = c == a;
~~~~~~
!!! Operator '==' cannot be applied to types 'string' and 'number'.
var r5c1 = c == b;
~~~~~~
!!! Operator '==' cannot be applied to types 'string' and 'boolean'.
var r5c1 = c == d;
~~~~~~
!!! Operator '==' cannot be applied to types 'string' and 'void'.
var r5c1 = c == e;
~~~~~~
!!! Operator '==' cannot be applied to types 'string' and 'E'.
var r5d1 = d == a;
~~~~~~
!!! Operator '==' cannot be applied to types 'void' and 'number'.
var r5d1 = d == b;
~~~~~~
!!! Operator '==' cannot be applied to types 'void' and 'boolean'.
var r5d1 = d == c;
~~~~~~
!!! Operator '==' cannot be applied to types 'void' and 'string'.
var r5d1 = d == e;
~~~~~~
!!! Operator '==' cannot be applied to types 'void' and 'E'.
var r5e1 = e == a; // no error, expected
var r5e1 = e == b;
~~~~~~
!!! Operator '==' cannot be applied to types 'E' and 'boolean'.
var r5e1 = e == c;
~~~~~~
!!! Operator '==' cannot be applied to types 'E' and 'string'.
var r5e1 = e == d;
~~~~~~
!!! Operator '==' cannot be applied to types 'E' and 'void'.
// operator !=
var r6a1 = a != b;
~~~~~~
!!! Operator '!=' cannot be applied to types 'number' and 'boolean'.
var r6a1 = a != c;
~~~~~~
!!! Operator '!=' cannot be applied to types 'number' and 'string'.
var r6a1 = a != d;
~~~~~~
!!! Operator '!=' cannot be applied to types 'number' and 'void'.
var r6a1 = a != e; // no error, expected
var r6b1 = b != a;
~~~~~~
!!! Operator '!=' cannot be applied to types 'boolean' and 'number'.
var r6b1 = b != c;
~~~~~~
!!! Operator '!=' cannot be applied to types 'boolean' and 'string'.
var r6b1 = b != d;
~~~~~~
!!! Operator '!=' cannot be applied to types 'boolean' and 'void'.
var r6b1 = b != e;
~~~~~~
!!! Operator '!=' cannot be applied to types 'boolean' and 'E'.
var r6c1 = c != a;
~~~~~~
!!! Operator '!=' cannot be applied to types 'string' and 'number'.
var r6c1 = c != b;
~~~~~~
!!! Operator '!=' cannot be applied to types 'string' and 'boolean'.
var r6c1 = c != d;
~~~~~~
!!! Operator '!=' cannot be applied to types 'string' and 'void'.
var r6c1 = c != e;
~~~~~~
!!! Operator '!=' cannot be applied to types 'string' and 'E'.
var r6d1 = d != a;
~~~~~~
!!! Operator '!=' cannot be applied to types 'void' and 'number'.
var r6d1 = d != b;
~~~~~~
!!! Operator '!=' cannot be applied to types 'void' and 'boolean'.
var r6d1 = d != c;
~~~~~~
!!! Operator '!=' cannot be applied to types 'void' and 'string'.
var r6d1 = d != e;
~~~~~~
!!! Operator '!=' cannot be applied to types 'void' and 'E'.
var r6e1 = e != a; // no error, expected
var r6e1 = e != b;
~~~~~~
!!! Operator '!=' cannot be applied to types 'E' and 'boolean'.
var r6e1 = e != c;
~~~~~~
!!! Operator '!=' cannot be applied to types 'E' and 'string'.
var r6e1 = e != d;
~~~~~~
!!! Operator '!=' cannot be applied to types 'E' and 'void'.
// operator ===
var r7a1 = a === b;
~~~~~~~
!!! Operator '===' cannot be applied to types 'number' and 'boolean'.
var r7a1 = a === c;
~~~~~~~
!!! Operator '===' cannot be applied to types 'number' and 'string'.
var r7a1 = a === d;
~~~~~~~
!!! Operator '===' cannot be applied to types 'number' and 'void'.
var r7a1 = a === e; // no error, expected
var r7b1 = b === a;
~~~~~~~
!!! Operator '===' cannot be applied to types 'boolean' and 'number'.
var r7b1 = b === c;
~~~~~~~
!!! Operator '===' cannot be applied to types 'boolean' and 'string'.
var r7b1 = b === d;
~~~~~~~
!!! Operator '===' cannot be applied to types 'boolean' and 'void'.
var r7b1 = b === e;
~~~~~~~
!!! Operator '===' cannot be applied to types 'boolean' and 'E'.
var r7c1 = c === a;
~~~~~~~
!!! Operator '===' cannot be applied to types 'string' and 'number'.
var r7c1 = c === b;
~~~~~~~
!!! Operator '===' cannot be applied to types 'string' and 'boolean'.
var r7c1 = c === d;
~~~~~~~
!!! Operator '===' cannot be applied to types 'string' and 'void'.
var r7c1 = c === e;
~~~~~~~
!!! Operator '===' cannot be applied to types 'string' and 'E'.
var r7d1 = d === a;
~~~~~~~
!!! Operator '===' cannot be applied to types 'void' and 'number'.
var r7d1 = d === b;
~~~~~~~
!!! Operator '===' cannot be applied to types 'void' and 'boolean'.
var r7d1 = d === c;
~~~~~~~
!!! Operator '===' cannot be applied to types 'void' and 'string'.
var r7d1 = d === e;
~~~~~~~
!!! Operator '===' cannot be applied to types 'void' and 'E'.
var r7e1 = e === a; // no error, expected
var r7e1 = e === b;
~~~~~~~
!!! Operator '===' cannot be applied to types 'E' and 'boolean'.
var r7e1 = e === c;
~~~~~~~
!!! Operator '===' cannot be applied to types 'E' and 'string'.
var r7e1 = e === d;
~~~~~~~
!!! Operator '===' cannot be applied to types 'E' and 'void'.
// operator !==
var r8a1 = a !== b;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'number' and 'boolean'.
var r8a1 = a !== c;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'number' and 'string'.
var r8a1 = a !== d;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'number' and 'void'.
var r8a1 = a !== e; // no error, expected
var r8b1 = b !== a;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'boolean' and 'number'.
var r8b1 = b !== c;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'boolean' and 'string'.
var r8b1 = b !== d;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'boolean' and 'void'.
var r8b1 = b !== e;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'boolean' and 'E'.
var r8c1 = c !== a;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'string' and 'number'.
var r8c1 = c !== b;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'string' and 'boolean'.
var r8c1 = c !== d;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'string' and 'void'.
var r8c1 = c !== e;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'string' and 'E'.
var r8d1 = d !== a;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'void' and 'number'.
var r8d1 = d !== b;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'void' and 'boolean'.
var r8d1 = d !== c;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'void' and 'string'.
var r8d1 = d !== e;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'void' and 'E'.
var r8e1 = e !== a; // no error, expected
var r8e1 = e !== b;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'E' and 'boolean'.
var r8e1 = e !== c;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'E' and 'string'.
var r8e1 = e !== d;
~~~~~~~
!!! Operator '!==' cannot be applied to types 'E' and 'void'.