5 // check dtor calling order when casting enums.
8 use std::sync::atomic::Ordering;
17 static FLAG: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
22 unsafe { mem::forget(mem::replace(self, E::B)) };
24 FLAG.store(FLAG.load(Ordering::SeqCst)+1, Ordering::SeqCst);
29 assert_eq!(FLAG.load(Ordering::SeqCst), 0);
32 assert_eq!(e as u32, 2);
33 assert_eq!(FLAG.load(Ordering::SeqCst), 0);
35 assert_eq!(FLAG.load(Ordering::SeqCst), 0);