#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::ptr::NonNull; fn main() { let a = [0; 5]; let ptr1: NonNull = NonNull::from(&a[1]); let ptr2: NonNull = NonNull::from(&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); } }