#![crate_type = "cdylib"] #[no_mangle] #[cfg(a)] pub fn foo() { panic!("test"); } #[no_mangle] #[cfg(b)] pub fn foo() { panic!("{}", 1); } #[no_mangle] #[cfg(c)] pub fn foo() { panic!("{}", "a"); } #[no_mangle] #[cfg(d)] pub fn foo() -> usize { use std::cell::Cell; thread_local!(static A: Cell> = Cell::new(Vec::new())); A.try_with(|x| x.take().len()).unwrap_or(0) }