diff --git a/src/test/ui/exhaustive_integer_patterns.rs b/src/test/ui/exhaustive_integer_patterns.rs index c267c4ef28c0..0f8168cdd04f 100644 --- a/src/test/ui/exhaustive_integer_patterns.rs +++ b/src/test/ui/exhaustive_integer_patterns.rs @@ -138,4 +138,17 @@ fn main() { (1, _) => {} (_, None) => {} } + + match (0u8, true) { //~ ERROR non-exhaustive patterns + (0..=125, false) => {} + (128..=255, false) => {} + (0..=255, true) => {} + } + + match (0u8, true) { + (0..=125, false) => {} + (128..=255, false) => {} + (0..=255, true) => {} + (125..128, false) => {} + } } diff --git a/src/test/ui/exhaustive_integer_patterns.stderr b/src/test/ui/exhaustive_integer_patterns.stderr index 6fabbebf4875..2222283247b5 100644 --- a/src/test/ui/exhaustive_integer_patterns.stderr +++ b/src/test/ui/exhaustive_integer_patterns.stderr @@ -58,6 +58,12 @@ error[E0004]: non-exhaustive patterns: `(0u8, Some(_))` and `(2u8..=255u8, Some( LL | match (0u8, Some(())) { //~ ERROR non-exhaustive patterns | ^^^^^^^^^^^^^^^ patterns `(0u8, Some(_))` and `(2u8..=255u8, Some(_))` not covered -error: aborting due to 9 previous errors +error[E0004]: non-exhaustive patterns: `(126u8..=127u8, false)` not covered + --> $DIR/exhaustive_integer_patterns.rs:142:11 + | +LL | match (0u8, true) { //~ ERROR non-exhaustive patterns + | ^^^^^^^^^^^ pattern `(126u8..=127u8, false)` not covered + +error: aborting due to 10 previous errors For more information about this error, try `rustc --explain E0004`.