diff options
| author | varkor <github@varkor.com> | 2019-04-27 12:45:17 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2019-04-30 22:43:51 +0100 |
| commit | c5fdff26b58704f5b346ab2c96ea784f959eb3dd (patch) | |
| tree | 261eab3c655b14594402a93dccacb489ce10f07f | |
| parent | 5ec2f5e87ee5b56c1b4d78b5443558645fb2b2a1 (diff) | |
| download | rust-c5fdff26b58704f5b346ab2c96ea784f959eb3dd.tar.gz rust-c5fdff26b58704f5b346ab2c96ea784f959eb3dd.zip | |
Add a test for overflowing endpoints
| -rw-r--r-- | src/test/ui/lint/lint-range-endpoint-overflow.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/lint/lint-range-endpoint-overflow.stderr | 32 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/test/ui/lint/lint-range-endpoint-overflow.rs b/src/test/ui/lint/lint-range-endpoint-overflow.rs new file mode 100644 index 00000000000..36fcbd36c6a --- /dev/null +++ b/src/test/ui/lint/lint-range-endpoint-overflow.rs @@ -0,0 +1,15 @@ +#![deny(overflowing_literals)] + +fn main() { + let range_a = 0..256; //~ ERROR range endpoint is out of range for u8 + let range_b = 0..=255; // ok + 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 + + 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>>(); +} diff --git a/src/test/ui/lint/lint-range-endpoint-overflow.stderr b/src/test/ui/lint/lint-range-endpoint-overflow.stderr new file mode 100644 index 00000000000..56568765c1c --- /dev/null +++ b/src/test/ui/lint/lint-range-endpoint-overflow.stderr @@ -0,0 +1,32 @@ +error: range endpoint is out of range for u8 + --> $DIR/lint-range-endpoint-overflow.rs:4:19 + | +LL | let range_a = 0..256; + | ^^^^^^ help: use an inclusive range instead: `0..=255` + | +note: lint level defined here + --> $DIR/lint-range-endpoint-overflow.rs:1:9 + | +LL | #![deny(overflowing_literals)] + | ^^^^^^^^^^^^^^^^^^^^ + +error: literal out of range for u8 + --> $DIR/lint-range-endpoint-overflow.rs:6:23 + | +LL | let range_c = 0..=256; + | ^^^ + +error: literal out of range for u8 + --> $DIR/lint-range-endpoint-overflow.rs:7:19 + | +LL | let range_d = 256..5; + | ^^^ + +error: literal out of range for u8 + --> $DIR/lint-range-endpoint-overflow.rs:8:22 + | +LL | let range_e = 0..257; + | ^^^ + +error: aborting due to 4 previous errors + |
