use std::sync::atomic::{AtomicPtr, Ordering}; | |
#[inline(always)] | |
pub fn memrchr() { | |
fn detect() {} | |
static CROSS_CRATE_STATIC_ITEM: AtomicPtr<()> = AtomicPtr::new(detect as *mut ()); | |
unsafe { | |
let fun = CROSS_CRATE_STATIC_ITEM.load(Ordering::SeqCst); | |
std::mem::transmute::<*mut (), fn()>(fun)() | |
} | |
} |