rust/tests/compile-fail/dangling_pointers/deref-partially-dangling.rs

9 lines
339 B
Rust
Raw Normal View History

// Deref a raw ptr to access a field of a large struct, where the field
// is allocated but not the entire struct is.
fn main() {
let x = (1, 13);
let xptr = &x as *const _ as *const (i32, i32, i32);
2021-07-15 13:33:08 -05:00
let val = unsafe { (*xptr).1 }; //~ ERROR pointer to 12 bytes starting at offset 0 is out-of-bounds
assert_eq!(val, 13);
}