mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-10 07:04:18 +00:00
Add tests for new lint (modulo_arithmetic)
This commit is contained in:
parent
f191e916bd
commit
6223391170
6 changed files with 565 additions and 0 deletions
36
tests/ui/modulo_arithmetic_float.rs
Normal file
36
tests/ui/modulo_arithmetic_float.rs
Normal file
|
@ -0,0 +1,36 @@
|
|||
#![warn(clippy::modulo_arithmetic)]
|
||||
#![allow(
|
||||
unused,
|
||||
clippy::shadow_reuse,
|
||||
clippy::shadow_unrelated,
|
||||
clippy::no_effect,
|
||||
clippy::unnecessary_operation,
|
||||
clippy::modulo_one
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
// Lint when both sides are const and of the opposite sign
|
||||
-1.6 % 2.1;
|
||||
1.6 % -2.1;
|
||||
(1.1 - 2.3) % (1.1 + 2.3);
|
||||
(1.1 + 2.3) % (1.1 - 2.3);
|
||||
|
||||
// Lint on floating point numbers
|
||||
let a_f32: f32 = -1.6;
|
||||
let mut b_f32: f32 = 2.1;
|
||||
a_f32 % b_f32;
|
||||
b_f32 % a_f32;
|
||||
b_f32 %= a_f32;
|
||||
|
||||
let a_f64: f64 = -1.6;
|
||||
let mut b_f64: f64 = 2.1;
|
||||
a_f64 % b_f64;
|
||||
b_f64 % a_f64;
|
||||
b_f64 %= a_f64;
|
||||
|
||||
// No lint when both sides are const and of the same sign
|
||||
1.6 % 2.1;
|
||||
-1.6 % -2.1;
|
||||
(1.1 + 2.3) % (-1.1 + 2.3);
|
||||
(-1.1 - 2.3) % (1.1 - 2.3);
|
||||
}
|
83
tests/ui/modulo_arithmetic_float.stderr
Normal file
83
tests/ui/modulo_arithmetic_float.stderr
Normal file
|
@ -0,0 +1,83 @@
|
|||
error: you are using modulo operator on constants with different signs: `-1.600 % 2.100`
|
||||
--> $DIR/modulo_arithmetic_float.rs:13:5
|
||||
|
|
||||
LL | -1.6 % 2.1;
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: `-D clippy::modulo-arithmetic` implied by `-D warnings`
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1.600 % -2.100`
|
||||
--> $DIR/modulo_arithmetic_float.rs:14:5
|
||||
|
|
||||
LL | 1.6 % -2.1;
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1.200 % 3.400`
|
||||
--> $DIR/modulo_arithmetic_float.rs:15:5
|
||||
|
|
||||
LL | (1.1 - 2.3) % (1.1 + 2.3);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `3.400 % -1.200`
|
||||
--> $DIR/modulo_arithmetic_float.rs:16:5
|
||||
|
|
||||
LL | (1.1 + 2.3) % (1.1 - 2.3);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:21:5
|
||||
|
|
||||
LL | a_f32 % b_f32;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:22:5
|
||||
|
|
||||
LL | b_f32 % a_f32;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:23:5
|
||||
|
|
||||
LL | b_f32 %= a_f32;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:27:5
|
||||
|
|
||||
LL | a_f64 % b_f64;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:28:5
|
||||
|
|
||||
LL | b_f64 % a_f64;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_float.rs:29:5
|
||||
|
|
||||
LL | b_f64 %= a_f64;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
|
||||
error: aborting due to 10 previous errors
|
||||
|
90
tests/ui/modulo_arithmetic_integral.rs
Normal file
90
tests/ui/modulo_arithmetic_integral.rs
Normal file
|
@ -0,0 +1,90 @@
|
|||
#![warn(clippy::modulo_arithmetic)]
|
||||
#![allow(
|
||||
unused,
|
||||
clippy::shadow_reuse,
|
||||
clippy::shadow_unrelated,
|
||||
clippy::no_effect,
|
||||
clippy::unnecessary_operation,
|
||||
clippy::modulo_one
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
// Lint on signed integral numbers
|
||||
let a = -1;
|
||||
let mut b = 2;
|
||||
a % b;
|
||||
b % a;
|
||||
b %= a;
|
||||
|
||||
let a_i8: i8 = 1;
|
||||
let mut b_i8: i8 = 2;
|
||||
a_i8 % b_i8;
|
||||
b_i8 %= a_i8;
|
||||
|
||||
let a_i16: i16 = 1;
|
||||
let mut b_i16: i16 = 2;
|
||||
a_i16 % b_i16;
|
||||
b_i16 %= a_i16;
|
||||
|
||||
let a_i32: i32 = 1;
|
||||
let mut b_i32: i32 = 2;
|
||||
a_i32 % b_i32;
|
||||
b_i32 %= a_i32;
|
||||
|
||||
let a_i64: i64 = 1;
|
||||
let mut b_i64: i64 = 2;
|
||||
a_i64 % b_i64;
|
||||
b_i64 %= a_i64;
|
||||
|
||||
let a_i128: i128 = 1;
|
||||
let mut b_i128: i128 = 2;
|
||||
a_i128 % b_i128;
|
||||
b_i128 %= a_i128;
|
||||
|
||||
let a_isize: isize = 1;
|
||||
let mut b_isize: isize = 2;
|
||||
a_isize % b_isize;
|
||||
b_isize %= a_isize;
|
||||
|
||||
let a = 1;
|
||||
let mut b = 2;
|
||||
a % b;
|
||||
b %= a;
|
||||
|
||||
// No lint on unsigned integral value
|
||||
let a_u8: u8 = 17;
|
||||
let b_u8: u8 = 3;
|
||||
a_u8 % b_u8;
|
||||
let mut a_u8: u8 = 1;
|
||||
a_u8 %= 2;
|
||||
|
||||
let a_u16: u16 = 17;
|
||||
let b_u16: u16 = 3;
|
||||
a_u16 % b_u16;
|
||||
let mut a_u16: u16 = 1;
|
||||
a_u16 %= 2;
|
||||
|
||||
let a_u32: u32 = 17;
|
||||
let b_u32: u32 = 3;
|
||||
a_u32 % b_u32;
|
||||
let mut a_u32: u32 = 1;
|
||||
a_u32 %= 2;
|
||||
|
||||
let a_u64: u64 = 17;
|
||||
let b_u64: u64 = 3;
|
||||
a_u64 % b_u64;
|
||||
let mut a_u64: u64 = 1;
|
||||
a_u64 %= 2;
|
||||
|
||||
let a_u128: u128 = 17;
|
||||
let b_u128: u128 = 3;
|
||||
a_u128 % b_u128;
|
||||
let mut a_u128: u128 = 1;
|
||||
a_u128 %= 2;
|
||||
|
||||
let a_usize: usize = 17;
|
||||
let b_usize: usize = 3;
|
||||
a_usize % b_usize;
|
||||
let mut a_usize: usize = 1;
|
||||
a_usize %= 2;
|
||||
}
|
156
tests/ui/modulo_arithmetic_integral.stderr
Normal file
156
tests/ui/modulo_arithmetic_integral.stderr
Normal file
|
@ -0,0 +1,156 @@
|
|||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:15:5
|
||||
|
|
||||
LL | a % b;
|
||||
| ^^^^^
|
||||
|
|
||||
= note: `-D clippy::modulo-arithmetic` implied by `-D warnings`
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:16:5
|
||||
|
|
||||
LL | b % a;
|
||||
| ^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:17:5
|
||||
|
|
||||
LL | b %= a;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:21:5
|
||||
|
|
||||
LL | a_i8 % b_i8;
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:22:5
|
||||
|
|
||||
LL | b_i8 %= a_i8;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:26:5
|
||||
|
|
||||
LL | a_i16 % b_i16;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:27:5
|
||||
|
|
||||
LL | b_i16 %= a_i16;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:31:5
|
||||
|
|
||||
LL | a_i32 % b_i32;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:32:5
|
||||
|
|
||||
LL | b_i32 %= a_i32;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:36:5
|
||||
|
|
||||
LL | a_i64 % b_i64;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:37:5
|
||||
|
|
||||
LL | b_i64 %= a_i64;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:41:5
|
||||
|
|
||||
LL | a_i128 % b_i128;
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:42:5
|
||||
|
|
||||
LL | b_i128 %= a_i128;
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:46:5
|
||||
|
|
||||
LL | a_isize % b_isize;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:47:5
|
||||
|
|
||||
LL | b_isize %= a_isize;
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:51:5
|
||||
|
|
||||
LL | a % b;
|
||||
| ^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on types that might have different signs
|
||||
--> $DIR/modulo_arithmetic_integral.rs:52:5
|
||||
|
|
||||
LL | b %= a;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: aborting due to 17 previous errors
|
||||
|
44
tests/ui/modulo_arithmetic_integral_const.rs
Normal file
44
tests/ui/modulo_arithmetic_integral_const.rs
Normal file
|
@ -0,0 +1,44 @@
|
|||
#![warn(clippy::modulo_arithmetic)]
|
||||
#![allow(
|
||||
unused,
|
||||
clippy::shadow_reuse,
|
||||
clippy::shadow_unrelated,
|
||||
clippy::no_effect,
|
||||
clippy::unnecessary_operation,
|
||||
clippy::modulo_one
|
||||
)]
|
||||
|
||||
fn main() {
|
||||
// Lint when both sides are const and of the opposite sign
|
||||
-1 % 2;
|
||||
1 % -2;
|
||||
(1 - 2) % (1 + 2);
|
||||
(1 + 2) % (1 - 2);
|
||||
35 * (7 - 4 * 2) % (-500 * -600);
|
||||
|
||||
-1i8 % 2i8;
|
||||
1i8 % -2i8;
|
||||
-1i16 % 2i16;
|
||||
1i16 % -2i16;
|
||||
-1i32 % 2i32;
|
||||
1i32 % -2i32;
|
||||
-1i64 % 2i64;
|
||||
1i64 % -2i64;
|
||||
-1i128 % 2i128;
|
||||
1i128 % -2i128;
|
||||
-1isize % 2isize;
|
||||
1isize % -2isize;
|
||||
|
||||
// No lint when both sides are const and of the same sign
|
||||
1 % 2;
|
||||
-1 % -2;
|
||||
(1 + 2) % (-1 + 2);
|
||||
(-1 - 2) % (1 - 2);
|
||||
|
||||
1u8 % 2u8;
|
||||
1u16 % 2u16;
|
||||
1u32 % 2u32;
|
||||
1u64 % 2u64;
|
||||
1u128 % 2u128;
|
||||
1usize % 2usize;
|
||||
}
|
156
tests/ui/modulo_arithmetic_integral_const.stderr
Normal file
156
tests/ui/modulo_arithmetic_integral_const.stderr
Normal file
|
@ -0,0 +1,156 @@
|
|||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:13:5
|
||||
|
|
||||
LL | -1 % 2;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: `-D clippy::modulo-arithmetic` implied by `-D warnings`
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:14:5
|
||||
|
|
||||
LL | 1 % -2;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 3`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:15:5
|
||||
|
|
||||
LL | (1 - 2) % (1 + 2);
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `3 % -1`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:16:5
|
||||
|
|
||||
LL | (1 + 2) % (1 - 2);
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-35 % 300000`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:17:5
|
||||
|
|
||||
LL | 35 * (7 - 4 * 2) % (-500 * -600);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:19:5
|
||||
|
|
||||
LL | -1i8 % 2i8;
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:20:5
|
||||
|
|
||||
LL | 1i8 % -2i8;
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:21:5
|
||||
|
|
||||
LL | -1i16 % 2i16;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:22:5
|
||||
|
|
||||
LL | 1i16 % -2i16;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:23:5
|
||||
|
|
||||
LL | -1i32 % 2i32;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:24:5
|
||||
|
|
||||
LL | 1i32 % -2i32;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:25:5
|
||||
|
|
||||
LL | -1i64 % 2i64;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:26:5
|
||||
|
|
||||
LL | 1i64 % -2i64;
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:27:5
|
||||
|
|
||||
LL | -1i128 % 2i128;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:28:5
|
||||
|
|
||||
LL | 1i128 % -2i128;
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `-1 % 2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:29:5
|
||||
|
|
||||
LL | -1isize % 2isize;
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: you are using modulo operator on constants with different signs: `1 % -2`
|
||||
--> $DIR/modulo_arithmetic_integral_const.rs:30:5
|
||||
|
|
||||
LL | 1isize % -2isize;
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: double check for expected result especially when interoperating with different languages
|
||||
= note: or consider using `rem_euclid` or similar function
|
||||
|
||||
error: aborting due to 17 previous errors
|
||||
|
Loading…
Reference in a new issue