unsafe fn atomic_compare_exchange<T: Copy>( dst: *mut T, old: T, new: T, success: Ordering, failure: Ordering, ) -> Result<T, T>