Add guarded arms to tests

This commit is contained in:
varkor 2018-06-02 10:53:47 +01:00
parent 07064de9a7
commit 25ba9118ff
2 changed files with 19 additions and 1 deletions

View File

@ -120,4 +120,16 @@ fn main() {
match 0i128 {
i128::MIN ..= i128::MAX => {} // ok
}
// Make sure that guards don't factor into the exhaustiveness checks.
match 0u8 { //~ ERROR non-exhaustive patterns
0 .. 128 => {}
128 ..= 255 if true => {}
}
match 0u8 {
0 .. 128 => {}
128 ..= 255 if false => {}
128 ..= 255 => {} // ok, because previous arm was guarded
}
}

View File

@ -46,6 +46,12 @@ error[E0004]: non-exhaustive patterns: `0i16` not covered
LL | match 0i16 { //~ ERROR non-exhaustive patterns
| ^^^^ pattern `0i16` not covered
error: aborting due to 7 previous errors
error[E0004]: non-exhaustive patterns: `128u8..=255u8` not covered
--> $DIR/exhaustive_integer_patterns.rs:125:11
|
LL | match 0u8 { //~ ERROR non-exhaustive patterns
| ^^^ pattern `128u8..=255u8` not covered
error: aborting due to 8 previous errors
For more information about this error, try `rustc --explain E0004`.