//@ run-pass | |
//@ no-prefer-dynamic | |
//@ aux-build:custom.rs | |
//@ aux-build:helper.rs | |
extern crate custom; | |
extern crate helper; | |
use custom::A; | |
use std::sync::atomic::{AtomicUsize, Ordering}; | |
fn main() { | |
#[global_allocator] | |
pub static GLOBAL: A = A(AtomicUsize::new(0)); | |
let n = GLOBAL.0.load(Ordering::SeqCst); | |
let s = Box::new(0); | |
helper::work_with(&s); | |
assert_eq!(GLOBAL.0.load(Ordering::SeqCst), n + 1); | |
drop(s); | |
assert_eq!(GLOBAL.0.load(Ordering::SeqCst), n + 2); | |
} |