struct A { a: Box } fn foo(n: i32) { let x = A { a: Box::new(n) }; let _y = match x { A { a: v } if { drop(v); true } => v, //~^ ERROR cannot move out of `v` in pattern guard _ => Box::new(0), }; } fn main() { foo(107); }