Function std::ptr::read_unaligned
[−]
[src]
pub unsafe fn read_unaligned<T>(src: *const T) -> T
Reads the value from src without moving it. This leaves the
memory in src unchanged.
Unlike read, the pointer may be unaligned.
Safety
Beyond accepting a raw pointer, this is unsafe because it semantically
moves the value out of src without preventing further usage of src.
If T is not Copy, then care must be taken to ensure that the value at
src is not used before the data is overwritten again (e.g. with write,
zero_memory, or copy_memory). Note that *src = foo counts as a use
because it will attempt to drop the value previously at *src.
Examples
Basic usage:
#![feature(ptr_unaligned)] let x = 12; let y = &x as *const i32; unsafe { assert_eq!(std::ptr::read_unaligned(y), 12); }Run