diff options
Diffstat (limited to 'lib/src')
-rw-r--r-- | lib/src/lib.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/src/lib.rs b/lib/src/lib.rs index c7e9285..4995eb6 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -104,6 +104,16 @@ impl<T: GenerateRandom> GenerateRandom for Vec<T> { } } +impl<T> GenerateRandom for std::collections::HashSet<T> +where + T: GenerateRandom + std::cmp::Eq + std::hash::Hash, +{ + fn generate_random<R: rand::Rng + ?Sized>(rng: &mut R) -> Self { + let len = rng.gen_range(0..8); + (0..len).map(|_| T::generate_random(rng)).collect() + } +} + impl<K, V> GenerateRandom for std::collections::HashMap<K, V> where K: GenerateRandom + std::cmp::Eq + std::hash::Hash, |