Add match pattern diagnostics regression test
This commit is contained in:
parent
921ec4b3fc
commit
5fe8490046
17
src/test/ui/pattern/usefulness/issue-72377.rs
Normal file
17
src/test/ui/pattern/usefulness/issue-72377.rs
Normal file
@ -0,0 +1,17 @@
|
||||
#[derive(PartialEq, Eq)]
|
||||
enum X { A, B, C, }
|
||||
|
||||
fn main() {
|
||||
let x = X::A;
|
||||
let y = Some(X::A);
|
||||
|
||||
match (x, y) {
|
||||
//~^ ERROR non-exhaustive patterns: `(A, Some(A))`, `(A, Some(B))`, `(B, Some(B))` and 2
|
||||
//~| more not covered
|
||||
(_, None) => false,
|
||||
(v, Some(w)) if v == w => true,
|
||||
(X::B, Some(X::C)) => false,
|
||||
(X::B, Some(X::A)) => false,
|
||||
(X::A, Some(X::C)) | (X::C, Some(X::A)) => false,
|
||||
};
|
||||
}
|
12
src/test/ui/pattern/usefulness/issue-72377.stderr
Normal file
12
src/test/ui/pattern/usefulness/issue-72377.stderr
Normal file
@ -0,0 +1,12 @@
|
||||
error[E0004]: non-exhaustive patterns: `(A, Some(A))`, `(A, Some(B))`, `(B, Some(B))` and 2 more not covered
|
||||
--> $DIR/issue-72377.rs:8:11
|
||||
|
|
||||
LL | match (x, y) {
|
||||
| ^^^^^^ patterns `(A, Some(A))`, `(A, Some(B))`, `(B, Some(B))` and 2 more not covered
|
||||
|
|
||||
= help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms
|
||||
= note: the matched value is of type `(X, Option<X>)`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0004`.
|
Loading…
Reference in New Issue
Block a user