3 sync::atomic::{AtomicPtr, Ordering},
6 static mut LEAKER: Option<Box<Vec<i32>>> = None;
9 // Having memory "leaked" in globals is allowed.
11 LEAKER = Some(Box::new(vec![0; 42]));
14 // Make sure this is allowed even when `AtomicPtr` is used.
16 static LEAK: AtomicPtr<usize> = AtomicPtr::new(ptr::null_mut());
17 LEAK.store(Box::into_raw(Box::new(0usize)), Ordering::SeqCst);
19 static LEAK2: AtomicPtr<usize> = AtomicPtr::new(ptr::null_mut());
20 // Make sure this also works when using 'swap'.
21 LEAK2.swap(Box::into_raw(Box::new(0usize)), Ordering::SeqCst);