rust/tests/compile-fail/intrinsics/ptr_offset_from_oob.rs

12 lines
371 B
Rust

#![feature(core_intrinsics)]
use std::intrinsics::ptr_offset_from;
fn main() {
let start_ptr = &4 as *const _ as *const u8;
let length = 10;
let end_ptr = start_ptr.wrapping_add(length);
// Even if the offset is 0, a dangling OOB pointer is not allowed.
unsafe { ptr_offset_from(end_ptr, end_ptr) }; //~ERROR pointer at offset 10 is out-of-bounds
}