rust/tests/ui/lint/lint-range-endpoint-overflow.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

18 lines
685 B
Rust
Raw Normal View History

2019-04-27 11:45:17 +00:00
#![deny(overflowing_literals)]
fn main() {
2019-04-27 11:56:57 +00:00
let range_a = 0..256; //~ ERROR range endpoint is out of range for `u8`
2019-04-27 11:45:17 +00:00
let range_b = 0..=255; // ok
2019-04-27 11:56:57 +00:00
let range_c = 0..=256; //~ ERROR literal out of range for `u8`
let range_d = 256..5; //~ ERROR literal out of range for `u8`
let range_e = 0..257; //~ ERROR literal out of range for `u8`
2019-04-27 12:26:06 +00:00
let _range_f = 0..256u8; //~ ERROR range endpoint is out of range for `u8`
let _range_g = 0..128i8; //~ ERROR range endpoint is out of range for `i8`
2019-04-27 11:45:17 +00:00
range_a.collect::<Vec<u8>>();
range_b.collect::<Vec<u8>>();
range_c.collect::<Vec<u8>>();
range_d.collect::<Vec<u8>>();
range_e.collect::<Vec<u8>>();
}