replace_with (cargo): Temporarily take ownership of a value at a mutable location, and replace it with a new value based on the old one. 
Keywords: mutability|rust|rust-patterns