Function scratchpad::uninitialized_boxed_slice[][src]

pub unsafe fn uninitialized_boxed_slice<T>(len: usize) -> Box<[T]> where
    T: ByteData

Returns a boxed slice of a given length whose data is uninitialized.

Safety

The contents of the boxed slice are left uninitialized; reading from and writing to the slice contents can trigger undefined behavior if not careful.

It is strongly recommended to only allocate slices of [MaybeUninit]-wrapped types if supported by the version of Rust used, as using slices of non-wrapped types cause undefined behavior. This function will most likely be updated to enforce this restriction in future major releases of this crate.

Examples

use scratchpad::uninitialized_boxed_slice;
use std::mem::MaybeUninit;

let buffer = unsafe { uninitialized_boxed_slice::<MaybeUninit<u32>>(32) };
assert_eq!(buffer.len(), 32);