rust/tests/compile-fail/unaligned_pointers/alignment.rs
2020-04-13 17:58:03 +02:00

12 lines
447 B
Rust

fn main() {
// miri always gives allocations the worst possible alignment, so a `u8` array is guaranteed
// to be at the virtual location 1 (so one byte offset from the ultimate alignemnt location 0)
let mut x = [0u8; 20];
let x_ptr: *mut u8 = x.as_mut_ptr();
let y_ptr = x_ptr as *mut u64;
unsafe {
*y_ptr = 42; //~ ERROR accessing memory with alignment 1, but alignment
}
panic!("unreachable in miri");
}