#![feature(if_let_guard)] enum VecWrapper { A(Vec) } fn if_guard(x: VecWrapper) -> usize { match x { VecWrapper::A(v) if { drop(v); false } => 1, //~^ ERROR cannot move out of `v` in pattern guard VecWrapper::A(v) => v.len() } } fn if_let_guard(x: VecWrapper) -> usize { match x { VecWrapper::A(v) if let Some(()) = { drop(v); None } => 1, //~^ ERROR cannot move out of `v` in pattern guard VecWrapper::A(v) => v.len() } } fn main() { if_guard(VecWrapper::A(vec![107])); if_let_guard(VecWrapper::A(vec![107])); }