use crate::collector::Collector;
static mut COLLECTOR: Option<&'static mut dyn Collector> = None;
pub fn collector() -> &'static mut &'static mut dyn Collector {
unsafe {
COLLECTOR.as_mut().unwrap()
}
}
pub fn set_boxed_collector(collector: Box<dyn Collector>) {
let static_collector = Box::leak(collector);
set_collector(static_collector)
}
pub fn set_collector(collector: &'static mut dyn Collector) {
unsafe {
COLLECTOR = Some(collector)
}
}