kvarn_async::prelude::bytes::buf

Struct UninitSlice

pub struct UninitSlice(/* private fields */);
Expand description

Uninitialized byte slice.

Returned by BufMut::chunk_mut(), the referenced byte slice may be uninitialized. The wrapper provides safe access without introducing undefined behavior.

The safety invariants of this wrapper are:

  1. Reading from an UninitSlice is undefined behavior.
  2. Writing uninitialized bytes to an UninitSlice is undefined behavior.

The difference between &mut UninitSlice and &mut [MaybeUninit<u8>] is that it is possible in safe code to write uninitialized bytes to an &mut [MaybeUninit<u8>], which this type prohibits.

Implementations