1 warning: this arithmetic operation will overflow
2 --> $DIR/lint-exceeding-bitshifts.rs:17:20
4 LL | const N: i32 = T::N << 42;
5 | ^^^^^^^^^^ attempt to shift left with overflow
7 note: the lint level is defined here
8 --> $DIR/lint-exceeding-bitshifts.rs:9:9
10 LL | #![warn(arithmetic_overflow, const_err)]
13 warning: this arithmetic operation will overflow
14 --> $DIR/lint-exceeding-bitshifts.rs:21:13
17 | ^^^^^^^ attempt to shift left with overflow
19 warning: this arithmetic operation will overflow
20 --> $DIR/lint-exceeding-bitshifts.rs:26:15
22 LL | let n = 1u8 << 8;
23 | ^^^^^^^^ attempt to shift left with overflow
25 warning: this arithmetic operation will overflow
26 --> $DIR/lint-exceeding-bitshifts.rs:28:15
28 LL | let n = 1u16 << 16;
29 | ^^^^^^^^^^ attempt to shift left with overflow
31 warning: this arithmetic operation will overflow
32 --> $DIR/lint-exceeding-bitshifts.rs:30:15
34 LL | let n = 1u32 << 32;
35 | ^^^^^^^^^^ attempt to shift left with overflow
37 warning: this arithmetic operation will overflow
38 --> $DIR/lint-exceeding-bitshifts.rs:32:15
40 LL | let n = 1u64 << 64;
41 | ^^^^^^^^^^ attempt to shift left with overflow
43 warning: this arithmetic operation will overflow
44 --> $DIR/lint-exceeding-bitshifts.rs:34:15
46 LL | let n = 1i8 << 8;
47 | ^^^^^^^^ attempt to shift left with overflow
49 warning: this arithmetic operation will overflow
50 --> $DIR/lint-exceeding-bitshifts.rs:36:15
52 LL | let n = 1i16 << 16;
53 | ^^^^^^^^^^ attempt to shift left with overflow
55 warning: this arithmetic operation will overflow
56 --> $DIR/lint-exceeding-bitshifts.rs:38:15
58 LL | let n = 1i32 << 32;
59 | ^^^^^^^^^^ attempt to shift left with overflow
61 warning: this arithmetic operation will overflow
62 --> $DIR/lint-exceeding-bitshifts.rs:40:15
64 LL | let n = 1i64 << 64;
65 | ^^^^^^^^^^ attempt to shift left with overflow
67 warning: this arithmetic operation will overflow
68 --> $DIR/lint-exceeding-bitshifts.rs:43:15
70 LL | let n = 1u8 >> 8;
71 | ^^^^^^^^ attempt to shift right with overflow
73 warning: this arithmetic operation will overflow
74 --> $DIR/lint-exceeding-bitshifts.rs:45:15
76 LL | let n = 1u16 >> 16;
77 | ^^^^^^^^^^ attempt to shift right with overflow
79 warning: this arithmetic operation will overflow
80 --> $DIR/lint-exceeding-bitshifts.rs:47:15
82 LL | let n = 1u32 >> 32;
83 | ^^^^^^^^^^ attempt to shift right with overflow
85 warning: this arithmetic operation will overflow
86 --> $DIR/lint-exceeding-bitshifts.rs:49:15
88 LL | let n = 1u64 >> 64;
89 | ^^^^^^^^^^ attempt to shift right with overflow
91 warning: this arithmetic operation will overflow
92 --> $DIR/lint-exceeding-bitshifts.rs:51:15
94 LL | let n = 1i8 >> 8;
95 | ^^^^^^^^ attempt to shift right with overflow
97 warning: this arithmetic operation will overflow
98 --> $DIR/lint-exceeding-bitshifts.rs:53:15
100 LL | let n = 1i16 >> 16;
101 | ^^^^^^^^^^ attempt to shift right with overflow
103 warning: this arithmetic operation will overflow
104 --> $DIR/lint-exceeding-bitshifts.rs:55:15
106 LL | let n = 1i32 >> 32;
107 | ^^^^^^^^^^ attempt to shift right with overflow
109 warning: this arithmetic operation will overflow
110 --> $DIR/lint-exceeding-bitshifts.rs:57:15
112 LL | let n = 1i64 >> 64;
113 | ^^^^^^^^^^ attempt to shift right with overflow
115 warning: this arithmetic operation will overflow
116 --> $DIR/lint-exceeding-bitshifts.rs:61:15
119 | ^^^^^^ attempt to shift left with overflow
121 warning: this arithmetic operation will overflow
122 --> $DIR/lint-exceeding-bitshifts.rs:63:15
124 LL | let n = 1u8 << -8;
125 | ^^^^^^^^^ attempt to shift left with overflow
127 warning: this arithmetic operation will overflow
128 --> $DIR/lint-exceeding-bitshifts.rs:68:15
130 LL | let n = 1u8 << (4+4);
131 | ^^^^^^^^^^^^ attempt to shift left with overflow
133 warning: this arithmetic operation will overflow
134 --> $DIR/lint-exceeding-bitshifts.rs:70:15
136 LL | let n = 1i64 >> [64][0];
137 | ^^^^^^^^^^^^^^^ attempt to shift right with overflow
139 warning: this arithmetic operation will overflow
140 --> $DIR/lint-exceeding-bitshifts.rs:76:15
142 LL | let n = 1_isize << BITS;
143 | ^^^^^^^^^^^^^^^ attempt to shift left with overflow
145 warning: this arithmetic operation will overflow
146 --> $DIR/lint-exceeding-bitshifts.rs:77:15
148 LL | let n = 1_usize << BITS;
149 | ^^^^^^^^^^^^^^^ attempt to shift left with overflow
151 warning: 24 warnings emitted