use rand::Rng;
pub use rand;
use rand::distributions::Standard;
use rand::prelude::Distribution;
pub use rand_gen_proc_macro::RandGen;
pub trait RandGen {
fn random<R: Rng + ?Sized>(rng: &mut R) -> Self;
}
impl<T> RandGen for T
where
Standard: Distribution<T>,
{
fn random<R: Rng + ?Sized>(rng: &mut R) -> Self {
rng.gen()
}
}