Function scratchpad::uninitialized_boxed_slice_for_bytes[][src]

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

Returns a boxed slice of uninitialized data large enough to hold at least the specified number of bytes.

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_for_bytes;
use std::mem::MaybeUninit;

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