#![allow(dead_code)] use core::{mem::MaybeUninit, ptr};
/// Polyfill for `maybe_uninit_slice` feature's /// `MaybeUninit::slice_assume_init_mut`. Every element of `slice` must have /// been initialized. #[inline(always)] pubunsafefn slice_assume_init_mut<T>(slice: &mut [MaybeUninit<T>]) -> &mut [T] { // SAFETY: `MaybeUninit<T>` is guaranteed to be layout-compatible with `T`.
&mut *(slice as *mut [MaybeUninit<T>] as *mut [T])
}
#[inline(always)] pubfn slice_as_uninit<T>(slice: &[T]) -> &[MaybeUninit<T>] { // SAFETY: `MaybeUninit<T>` is guaranteed to be layout-compatible with `T`. // There is no risk of writing a `MaybeUninit<T>` into the result since // the result isn't mutable. unsafe { &*(slice as *const [T] as *const [MaybeUninit<T>]) }
}
/// View an mutable initialized array as potentially-uninitialized. /// /// This is unsafe because it allows assigning uninitialized values into /// `slice`, which would be undefined behavior. #[inline(always)] pubunsafefn slice_as_uninit_mut<T>(slice: &mut [T]) -> &'color:red'>mut [MaybeUninit<T>] { // SAFETY: `MaybeUninit<T>` is guaranteed to be layout-compatible with `T`.
&mut *(slice as *mut [T] as *mut [MaybeUninit<T>])
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-19)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.