fn foo(a: option, b: option) { alt (a,b) { //! ERROR: non-exhaustive patterns: none not covered (some(a), some(b)) if a == b { } (some(_), none) | (none, some(_)) { } } } fn main() { foo(none, none); }