Function safe_transmute::guarded_transmute_to_bytes_pod
source · pub fn guarded_transmute_to_bytes_pod<T: PodTransmutable>(from: &T) -> &[u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
Expand description
Transmute a single instance of a POD type into a slice of its bytes.
Examples
An u32
:
assert_eq!(guarded_transmute_to_bytes_pod(&0x01234567),
&[0x67, 0x45, 0x23, 0x01]);
An arbitrary type:
#[repr(C)]
#[derive(Clone, Copy)]
struct Gene {
x1: u8,
x2: u8,
}
unsafe impl PodTransmutable for Gene {}
assert_eq!(guarded_transmute_to_bytes_pod(&Gene {
x1: 0x42,
x2: 0x69,
}),
&[0x42, 0x69]);