Function safe_transmute::to_bytes::transmute_to_bytes
source · pub fn transmute_to_bytes<S: TriviallyTransmutable>(from: &[S]) -> &[u8] ⓘ
Expand description
Transmute a slice of arbitrary types into a slice of their bytes.
§Examples
Some u16
s:
// Little-endian
assert_eq!(transmute_to_bytes(&[0x0123u16, 0x4567u16]),
&[0x23, 0x01, 0x67, 0x45]);
An arbitrary type:
#[repr(C)]
#[derive(Clone, Copy)]
struct Gene {
x1: u8,
x2: u8,
}
unsafe impl TriviallyTransmutable for Gene {}
assert_eq!(transmute_to_bytes(&[Gene {
x1: 0x42,
x2: 0x69,
},
Gene {
x1: 0x12,
x2: 0x48,
}]),
&[0x42, 0x69, 0x12, 0x48]);