#[macro_export]
macro_rules! define_rng {
($random_id:ident) => {
#[derive(Copy, Clone)]
struct $random_id;
impl $crate::random::RngId for $random_id {
type RngType = $crate::rand::rngs::SmallRng;
fn get_name() -> &'static str {
stringify!($random_id)
}
}
$crate::paste::paste! {
#[doc(hidden)]
#[no_mangle]
#[allow(non_upper_case_globals)]
pub static [<rng_name_duplication_guard_ $random_id>]: () = ();
}
};
}
pub use define_rng;