&mut MaybeUninit<T> = &mut *self.value.get();
slot.as_mut_ptr().write(value);
}
self.value.get() - это *mut MaybeUninit<T>
Вопрос:
В чём будет разница между reborrowing и pointer casting? Что будет лучше и почему?
Reborrowing:
let slot: &mut MaybeUninit<T> = &mut *self.value.get();
Pointer casting:
let slot = self.value.get() as &mut MaybeUninit<T>;
А зачем кастовать в &mut MaybeUninit и потом сразу вызывать .as_mut_ptr()? Нельзя просто сделать self.value.get().write(value)?
Обсуждают сегодня