rand_gen/lib.rs
1use rand::Rng;
2
3pub use rand;
4use rand::distributions::Standard;
5use rand::prelude::Distribution;
6pub use rand_gen_proc_macro::RandGen;
7
8pub trait RandGen {
9 fn random<R: Rng + ?Sized>(rng: &mut R) -> Self;
10}
11
12impl<T> RandGen for T
13where
14 Standard: Distribution<T>,
15{
16 fn random<R: Rng + ?Sized>(rng: &mut R) -> Self {
17 rng.gen()
18 }
19}