Function safe_transmute::to_bytes::transmute_one_to_bytes

source ·
pub fn transmute_one_to_bytes<S: TriviallyTransmutable>(from: &S) -> &[u8] 
Expand description

Transmute a single instance of a trivially transmutable type into a slice of its bytes.

§Examples

An u32:

// Little-endian
assert_eq!(transmute_one_to_bytes(&0x0123_4567),
           &[0x67, 0x45, 0x23, 0x01]);

An arbitrary type:

#[repr(C)]
#[derive(Clone, Copy)]
struct Gene {
    x1: u8,
    x2: u8,
}
unsafe impl TriviallyTransmutable for Gene {}

assert_eq!(transmute_one_to_bytes(&Gene {
               x1: 0x42,
               x2: 0x69,
           }),
           &[0x42, 0x69]);