1 2 3 4 5 6 7 8 9
#[inline(always)] pub fn in_place<A, F>(f: F) -> impl Fn(&mut A) -> () where F: Fn(A) -> A, { move |value: &mut A| unsafe { std::ptr::write(value, f(std::ptr::read(value))); } }