fn foo(a: Option, b: Option) { match (a, b) { //~^ ERROR: non-exhaustive patterns: `(None, None)` and `(Some(_), Some(_))` not covered (Some(a), Some(b)) if a == b => {} (Some(_), None) | (None, Some(_)) => {} } } fn main() { foo(None, None); }