[−][src]Function safe_transmute::guarded_transmute_pod_pedantic
pub fn guarded_transmute_pod_pedantic<T: PodTransmutable>(
bytes: &[u8]
) -> Result<T, Error>
Transmute a byte slice into a single instance of a POD.
The byte slice must have exactly enough bytes to fill a single instance of a type.
Errors
An error is raised in one of the following situations:
- The data does not have a memory alignment compatible with
T
. You will have to make a copy anyway, or modify how the data was originally made. - The data does not have enough bytes for a single value
T
. - The data has more bytes than those required to produce a single value
T
.
Examples
// Little-endian assert_eq!(guarded_transmute_pod_pedantic::<u16>(&[0x0F, 0x0E])?, 0x0E0F);