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