Feature gate: #![feature(const_maybe_uninit_assume_init)]
This is a tracking issue for turning the methods assume_init, assume_init_ref, assume_init_mut, slice_assume_init_ref, slice_assume_init_mut of MaybeUninit into const fns. Note that the implementation of the latter two slice related methods are currently behind maybe_uninit_slice #63569, while the constness is behind const_maybe_uninit_assume_init.
Public API
impl<T> MaybeUninit<T> {
pub const unsafe fn assume_init(self) -> T;
pub const unsafe fn assume_init_ref(&self) -> &T;
pub const unsafe fn assume_init_mut(&mut self) -> &mut T;
}
// These function impls are behind `maybe_uninit_slice` while the constnes is `const_maybe_uninit_assume_init` (this issue)
impl<T> MaybeUninit<T> {
pub const unsafe fn slice_assume_init_ref(slice: &[Self]) -> &[T];
pub const unsafe fn slice_assume_init_mut(slice: &mut [Self]) -> &mut [T];
}
Steps / History
Unresolved Questions
Feature gate:
#![feature(const_maybe_uninit_assume_init)]This is a tracking issue for turning the methods
assume_init,assume_init_ref,assume_init_mut,slice_assume_init_ref,slice_assume_init_mutofMaybeUninitintoconst fns. Note that the implementation of the latter two slice related methods are currently behindmaybe_uninit_slice#63569, while the constness is behindconst_maybe_uninit_assume_init.Public API
Steps / History
MaybeUninitbehavior as const #90896 (assume_initandassume_init_ref)Unresolved Questions