2 use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering};
4 static DROP_COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
10 // update global drop count
11 DROP_COUNTER.fetch_add(1, Ordering::SeqCst);
15 static FOO: A = A(123);
16 const BAR: A = A(456);
19 const BAZ: A = A(789);
23 assert_eq!(DROP_COUNTER.load(Ordering::SeqCst), 0);
24 assert_eq!(&FOO.0, &123);
25 assert_eq!(DROP_COUNTER.load(Ordering::SeqCst), 0);
26 assert_eq!(BAR.0, 456);
27 assert_eq!(DROP_COUNTER.load(Ordering::SeqCst), 1);
28 assert_eq!(A::BAZ.0, 789);
29 assert_eq!(DROP_COUNTER.load(Ordering::SeqCst), 2);