diff --git a/src/ext/slice_ext.rs b/src/ext/slice_ext.rs index 0806633..f493955 100644 --- a/src/ext/slice_ext.rs +++ b/src/ext/slice_ext.rs @@ -164,12 +164,6 @@ pub trait MaybeUninitSlice: /// [inv]: core::mem#initialization-invariant /// [`MaybeUninit::assume_init`]: core::mem::MaybeUninit::assume_init unsafe fn assume_init_mut(&mut self) -> &mut [Self::InitItem]; - - /// Create self from initialized slice - fn from_init(init: &[Self::InitItem]) -> &Self; - - /// Create self from initialized slice - fn from_init_mut(init: &mut [Self::InitItem]) -> &mut Self; } impl Slice for [T] { @@ -223,22 +217,4 @@ impl MaybeUninitSlice for [MaybeUninit] { // `uninit` state &mut *(self as *mut [MaybeUninit] as *mut [T]) } - - #[inline] - fn from_init(init: &[Self::InitItem]) -> &Self { - // ## Safety - // - // `MaybeUninit` is guaranteed to have the same ABI as `T`, so - // it's safe to cast `&[T]` to `&[MaybeUninit]` - unsafe { &*(init as *const [T] as *const [MaybeUninit]) } - } - - #[inline] - fn from_init_mut(init: &mut [Self::InitItem]) -> &mut Self { - // ## Safety - // - // `MaybeUninit` is guaranteed to have the same ABI as `T`, so - // it's safe to cast `&mut [T]` to `&mut [MaybeUninit]` - unsafe { &mut *(init as *mut [T] as *mut [MaybeUninit]) } - } }