#![allow(dead_code, deprecated, unused_variables, unused_mut)] use core::sync::atomic::{AtomicPtr, Ordering}; fn main() { let mut arr = [0i64, 1]; let atom = AtomicPtr::::new(&raw mut arr[1]); assert_eq!( atom.fetch_byte_sub(8, Ordering::Relaxed).addr(), (& raw const arr[1]).addr() ); assert_eq!(atom.load(Ordering::Relaxed).addr(), (& raw const arr[0]).addr()); }