rust/tests/fail/intrinsics/ptr_offset_ptr_plus_0.rs

8 lines
365 B
Rust
Raw Normal View History

2022-07-24 13:28:45 -05:00
#[rustfmt::skip] // fails with "left behind trailing whitespace"
2018-10-08 04:22:52 -05:00
fn main() {
let x = Box::into_raw(Box::new(0u32));
2019-02-15 19:43:56 -06:00
let x = x.wrapping_offset(8); // ok, this has no inbounds tag
2018-10-08 04:22:52 -05:00
let _x = unsafe { x.offset(0) }; // UB despite offset 0, the pointer is not inbounds of the only object it can point to
2022-07-24 13:28:45 -05:00
//~^ERROR: pointer at offset 32 is out-of-bounds
2018-10-08 04:22:52 -05:00
}