3 #![allow(stable_features)]
4 #![feature(atomic_access)]
5 use std::sync::atomic::AtomicBool;
6 use std::sync::atomic::Ordering::*;
8 static mut ATOMIC: AtomicBool = AtomicBool::new(false);
12 assert_eq!(*ATOMIC.get_mut(), false);
13 ATOMIC.store(true, SeqCst);
14 assert_eq!(*ATOMIC.get_mut(), true);
15 ATOMIC.fetch_or(false, SeqCst);
16 assert_eq!(*ATOMIC.get_mut(), true);
17 ATOMIC.fetch_and(false, SeqCst);
18 assert_eq!(*ATOMIC.get_mut(), false);
19 ATOMIC.fetch_nand(true, SeqCst);
20 assert_eq!(*ATOMIC.get_mut(), true);
21 ATOMIC.fetch_xor(true, SeqCst);
22 assert_eq!(*ATOMIC.get_mut(), false);