out_reference
pub fn write<T>(ptr: &mut T, value: T)
Writes a value to the reference without dropping the old value