why isn't there a `std::mem::replace_with` function?

64 points Direct-Attorney3036

\\\\ std::mem::replace\\_with<T, F: FnOnce(T) -> T>(t: &mut T, f: F) \\\\\

For example,
\\\\`

let a = 10;

std::mem::replace\_with(&mut a, |x| x + 3);

\\\\`

​

Is it not safe or there is an alternative?