test AtomicU64

This commit is contained in:
Ralf Jung 2019-08-02 20:08:04 +02:00
parent ca4969d4da
commit 702f63e427

View File

@ -1,8 +1,9 @@
use std::sync::atomic::{AtomicBool, AtomicIsize, Ordering::*};
use std::sync::atomic::{AtomicBool, AtomicIsize, AtomicU64, Ordering::*};
fn main() {
atomic_bool();
atomic_isize();
atomic_u64();
}
fn atomic_bool() {
@ -50,3 +51,12 @@ fn atomic_isize() {
ATOMIC.compare_exchange_weak(0, 1, SeqCst, Acquire).ok();
ATOMIC.compare_exchange_weak(0, 1, SeqCst, SeqCst).ok();
}
fn atomic_u64() {
static ATOMIC: AtomicU64 = AtomicU64::new(0);
ATOMIC.store(1, SeqCst);
assert_eq!(ATOMIC.compare_exchange(0, 0x100, AcqRel, Acquire), Err(1));
assert_eq!(ATOMIC.compare_exchange_weak(1, 0x100, AcqRel, Acquire), Ok(1));
assert_eq!(ATOMIC.load(Relaxed), 0x100);
}