How can I swap in a new value for a field in a mutable reference to a structure?
Use std::mem::swap(). fn foo(a: &mut A) { let mut my_local_var = SomeType::new(); mem::swap(&mut a.field, &mut my_local_var); } Or std::mem::replace(). fn foo(a: &mut A) { let mut my_local_var = mem::replace(&mut a.field, SomeType::new()); }