// issue-52240: Can turn immutable into mut with `ref mut` enum Foo { Bar(i32), } fn main() { let arr = vec!(Foo::Bar(0)); if let (Some(Foo::Bar(ref mut val)), _) = (&arr.get(0), 0) { //~^ ERROR cannot borrow data in a `&` reference as mutable *val = 9001; } match arr[0] { Foo::Bar(ref s) => println!("{}", s) } }