16 lines
352 B
Rust
16 lines
352 B
Rust
// run-pass
|
|
|
|
#![feature(ptr_offset_from)]
|
|
|
|
fn main() {
|
|
let mut a = [0; 5];
|
|
let ptr1: *mut i32 = &mut a[1];
|
|
let ptr2: *mut i32 = &mut a[3];
|
|
unsafe {
|
|
assert_eq!(ptr2.offset_from(ptr1), 2);
|
|
assert_eq!(ptr1.offset_from(ptr2), -2);
|
|
assert_eq!(ptr1.offset(2), ptr2);
|
|
assert_eq!(ptr2.offset(-2), ptr1);
|
|
}
|
|
}
|