Function safe_transmute::trivial::transmute_trivial_many [−][src]
pub unsafe fn transmute_trivial_many<T: TriviallyTransmutable, G: Guard>(
bytes: &[u8]
) -> Result<&[T], Error<'_, u8, T>>
Transmute a byte slice into a single instance of a trivially transmutable type.
The byte slice must have exactly enough bytes to fill a single instance of a type.
Errors
An error is returned if the data does not comply with the policies of the
given guard G
.
Safety
This function invokes undefined behavior if the data does not have a memory
alignment compatible with T
. If this cannot be ensured, you will have to
make a copy of the data, or change how it was originally made.
Examples
// Little-endian unsafe { assert_eq!(transmute_trivial_many::<u16, SingleManyGuard>(&[0x00, 0x01, 0x00, 0x02])?, &[0x0100, 0x0200]); }