==== tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts (240 errors) ==== // If one operand is the null or undefined value, it is treated as having the type of the // other operand. var a: boolean; var b: string; var c: Object; // operator * var r1a1 = null * a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1a2 = null * b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1a3 = null * c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1b1 = a * null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1b2 = b * null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1b3 = c * null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1c1 = null * true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1c2 = null * ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1c3 = null * {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1d1 = true * null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1d2 = '' * null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r1d3 = {} * null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator / var r2a1 = null / a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2a2 = null / b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2a3 = null / c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2b1 = a / null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2b2 = b / null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2b3 = c / null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2c1 = null / true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2c2 = null / ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2c3 = null / {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2d1 = true / null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2d2 = '' / null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r2d3 = {} / null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator % var r3a1 = null % a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3a2 = null % b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3a3 = null % c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3b1 = a % null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3b2 = b % null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3b3 = c % null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3c1 = null % true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3c2 = null % ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3c3 = null % {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3d1 = true % null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3d2 = '' % null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r3d3 = {} % null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator - var r4a1 = null - a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4a2 = null - b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4a3 = null - c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4b1 = a - null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4b2 = b - null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4b3 = c - null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4c1 = null - true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4c2 = null - ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4c3 = null - {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4d1 = true - null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4d2 = '' - null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r4d3 = {} - null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator << var r5a1 = null << a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5a2 = null << b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5a3 = null << c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5b1 = a << null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5b2 = b << null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5b3 = c << null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5c1 = null << true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5c2 = null << ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5c3 = null << {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5d1 = true << null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5d2 = '' << null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r5d3 = {} << null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator >> var r6a1 = null >> a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6a2 = null >> b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6a3 = null >> c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6b1 = a >> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6b2 = b >> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6b3 = c >> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6c1 = null >> true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6c2 = null >> ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6c3 = null >> {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6d1 = true >> null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6d2 = '' >> null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r6d3 = {} >> null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator >>> var r7a1 = null >>> a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7a2 = null >>> b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7a3 = null >>> c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7b1 = a >>> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7b2 = b >>> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7b3 = c >>> null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7c1 = null >>> true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7c2 = null >>> ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7c3 = null >>> {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7d1 = true >>> null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7d2 = '' >>> null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r7d3 = {} >>> null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator & var r8a1 = null & a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8a2 = null & b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8a3 = null & c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8b1 = a & null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8b2 = b & null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8b3 = c & null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8c1 = null & true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8c2 = null & ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8c3 = null & {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8d1 = true & null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8d2 = '' & null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r8d3 = {} & null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator ^ var r9a1 = null ^ a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9a2 = null ^ b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9a3 = null ^ c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9b1 = a ^ null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9b2 = b ^ null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9b3 = c ^ null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9c1 = null ^ true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9c2 = null ^ ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9c3 = null ^ {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9d1 = true ^ null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9d2 = '' ^ null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r9d3 = {} ^ null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. // operator | var r10a1 = null | a; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10a2 = null | b; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10a3 = null | c; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10b1 = a | null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10b2 = b | null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10b3 = c | null; ~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10c1 = null | true; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10c2 = null | ''; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10c3 = null | {}; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10d1 = true | null; ~~~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10d2 = '' | null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. var r10d3 = {} | null; ~~ !!! The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type. ~~~~ !!! The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.