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