random_constructible/
rand_construct.rs1crate::ix!();
3
4pub trait RandConstruct {
5 fn random() -> Self;
6 fn uniform() -> Self;
7 fn random_with_rng<R: Rng + ?Sized>(rng: &mut R) -> Self;
8}
9
10impl<E: RandConstructEnum> RandConstruct for E {
11
12 fn random() -> Self {
13 <Self as RandConstructEnum>::random_variant()
14 }
15
16 fn uniform() -> Self {
17 <Self as RandConstructEnum>::uniform_variant()
18 }
19
20 fn random_with_rng<R: Rng + ?Sized>(rng: &mut R) -> Self {
21 <Self as RandConstructEnum>::random_enum_value_with_rng(rng)
22 }
23}