#![allow(dead_code, deprecated, unused_variables, unused_mut)] use core::sync::atomic::{AtomicPtr, Ordering}; fn main() { let pointer = &mut 3i64 as *mut i64; let atom = AtomicPtr::::new(pointer); atom.fetch_xor(1, Ordering::Relaxed); assert_eq!(atom.load(Ordering::Relaxed).addr() & 1, 1); }