unsafe fn promotable_to_vec( data: &AtomicPtr<()>, ptr: *const u8, len: usize, f: fn(_: *mut ()) -> *mut u8 ) -> Vec<u8>