153 lines
5.3 KiB
Plaintext
153 lines
5.3 KiB
Plaintext
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:18:20
|
|
|
|
|
LL | const N: i32 = T::N << 42;
|
|
| ^^^^^^^^^^ attempt to shift left by `42_i32`, which would overflow
|
|
|
|
|
note: the lint level is defined here
|
|
--> $DIR/lint-exceeding-bitshifts.rs:10:9
|
|
|
|
|
LL | #![warn(arithmetic_overflow)]
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:22:13
|
|
|
|
|
LL | let _ = x << 42;
|
|
| ^^^^^^^ attempt to shift left by `42_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:27:15
|
|
|
|
|
LL | let n = 1u8 << 8;
|
|
| ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:29:15
|
|
|
|
|
LL | let n = 1u16 << 16;
|
|
| ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:31:15
|
|
|
|
|
LL | let n = 1u32 << 32;
|
|
| ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:33:15
|
|
|
|
|
LL | let n = 1u64 << 64;
|
|
| ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:35:15
|
|
|
|
|
LL | let n = 1i8 << 8;
|
|
| ^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:37:15
|
|
|
|
|
LL | let n = 1i16 << 16;
|
|
| ^^^^^^^^^^ attempt to shift left by `16_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:39:15
|
|
|
|
|
LL | let n = 1i32 << 32;
|
|
| ^^^^^^^^^^ attempt to shift left by `32_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:41:15
|
|
|
|
|
LL | let n = 1i64 << 64;
|
|
| ^^^^^^^^^^ attempt to shift left by `64_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:44:15
|
|
|
|
|
LL | let n = 1u8 >> 8;
|
|
| ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:46:15
|
|
|
|
|
LL | let n = 1u16 >> 16;
|
|
| ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:48:15
|
|
|
|
|
LL | let n = 1u32 >> 32;
|
|
| ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:50:15
|
|
|
|
|
LL | let n = 1u64 >> 64;
|
|
| ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:52:15
|
|
|
|
|
LL | let n = 1i8 >> 8;
|
|
| ^^^^^^^^ attempt to shift right by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:54:15
|
|
|
|
|
LL | let n = 1i16 >> 16;
|
|
| ^^^^^^^^^^ attempt to shift right by `16_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:56:15
|
|
|
|
|
LL | let n = 1i32 >> 32;
|
|
| ^^^^^^^^^^ attempt to shift right by `32_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:58:15
|
|
|
|
|
LL | let n = 1i64 >> 64;
|
|
| ^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:62:15
|
|
|
|
|
LL | let n = n << 8;
|
|
| ^^^^^^ attempt to shift left by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:64:15
|
|
|
|
|
LL | let n = 1u8 << -8;
|
|
| ^^^^^^^^^ attempt to shift left by `-8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:69:15
|
|
|
|
|
LL | let n = 1u8 << (4+4);
|
|
| ^^^^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:71:15
|
|
|
|
|
LL | let n = 1i64 >> [64][0];
|
|
| ^^^^^^^^^^^^^^^ attempt to shift right by `64_i32`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:77:15
|
|
|
|
|
LL | let n = 1_isize << BITS;
|
|
| ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
|
|
|
|
warning: this arithmetic operation will overflow
|
|
--> $DIR/lint-exceeding-bitshifts.rs:78:15
|
|
|
|
|
LL | let n = 1_usize << BITS;
|
|
| ^^^^^^^^^^^^^^^ attempt to shift left by `%BITS%`, which would overflow
|
|
|
|
warning: 24 warnings emitted
|
|
|