//@ 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); }