1 #![feature(if_let_guard)]
8 fn if_guard() -> isize {
10 let mut x = Enum::A(&mut n);
12 Enum::A(_) if { x = Enum::B(false); false } => 1,
13 //~^ ERROR cannot assign `x` in match guard
14 Enum::A(_) if { let y = &mut x; *y = Enum::B(false); false } => 1,
15 //~^ ERROR cannot mutably borrow `x` in match guard
21 fn if_let_guard() -> isize {
23 let mut x = Enum::A(&mut n);
25 Enum::A(_) if let Some(()) = { x = Enum::B(false); None } => 1,
26 //~^ ERROR cannot assign `x` in match guard
27 Enum::A(_) if let Some(()) = { let y = &mut x; *y = Enum::B(false); None } => 1,
28 //~^ ERROR cannot mutably borrow `x` in match guard