fn main() {
let x: &Option<Box<i32>> = &Some(Box::new(0));
match x {
//~^ ERROR cannot move out of `x` as enum variant `Some` which is behind a shared reference
&Some(_y) => (),
&None => (),
}