error[E0409]: variable `y` is bound in inconsistent ways within the same match arm --> $DIR/E0409.rs:5:23 | LL | (0, ref y) | (y, 0) => {} | - ^ bound in different ways | | | first binding error[E0308]: mismatched types --> $DIR/E0409.rs:5:23 | LL | match x { | - this expression has type `({integer}, {integer})` LL | (0, ref y) | (y, 0) => {} | ^ expected `&{integer}`, found integer error: aborting due to 2 previous errors Some errors have detailed explanations: E0308, E0409. For more information about an error, try `rustc --explain E0308`.