error[E0308]: mismatched types --> $DIR/or-patter-mismatch.rs:15:68 | LL | fn main() { match blah::a(1, 1, 2) { blah::a(_, x, y) | blah::b(x, y) => { } } } | ^ expected usize, found isize | = note: expected type `usize` found type `isize` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.