error[E0308]: mismatched types --> $DIR/issue-106182.rs:7:12 | LL | match x { | - this expression has type `&_S` LL | _S(& (mut _y), _v) => { | ^^^^^^^^^^ expected `u32`, found reference | = note: expected type `u32` found reference `&_` help: consider removing `&` from the pattern | LL | _S(mut _y, _v) => { | ~~~~~~ error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.