| #[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: `(X::A, Some(X::A))`, `(X::A, Some(X::B))`, `(X::B, Some(X::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, | |
| }; | |
| } |