use std::{rc::Rc, sync::Arc};
pub unsafe trait RefClone: Clone {
fn ref_clone(&self) -> Self { self.clone() }
}
unsafe impl<T> RefClone for Rc<T> {
fn ref_clone(&self) -> Self { self.clone() }
}
unsafe impl<T> RefClone for Arc<T> {
fn ref_clone(&self) -> Self { self.clone() }
}