pub unsafe trait ByteSlice:
Deref<Target = [u8]>
+ Sized
+ ByteSliceSealed {
// Required method
fn split_at(self, mid: usize) -> (Self, Self);
// Provided method
fn as_ptr(&self) -> *const u8 { ... }
}
Expand description
A mutable or immutable reference to a byte slice.
ByteSlice
abstracts over the mutability of a byte slice reference, and is
implemented for various special reference types such as Ref<[u8]>
and
RefMut<[u8]>
.
Note that, while it would be technically possible, ByteSlice
is not
implemented for Vec<u8>
, as the only way to implement the split_at
method would involve reallocation, and split_at
must be a very cheap
operation in order for the utilities in this crate to perform as designed.
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.