[][src]Function safe_transmute::pod::transmute_pod

pub unsafe fn transmute_pod<T: PodTransmutable>(
    bytes: &[u8]
) -> Result<T, Error>

Transmute a byte slice into a single instance of a POD.

The byte slice must have at least enough bytes to fill a single instance of a type, extraneous data is ignored.

Errors

An error is returned in one of the following situations:

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_pod::<u32>(&[0x00, 0x00, 0x00, 0x01])?, 0x0100_0000);
}