#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(atomic_try_update)] use std::sync::atomic::{AtomicI8, Ordering}; fn main() { let x = AtomicI8::new(7); assert_eq!(x.update(Ordering::SeqCst, Ordering::SeqCst, | x | x + 1), 7); assert_eq!(x.update(Ordering::SeqCst, Ordering::SeqCst, | x | x + 1), 8); assert_eq!(x.load(Ordering::SeqCst), 9); }