• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use {
2     crate::{Arbitrary, Result, Unstructured},
3     std::{
4         collections::hash_set::HashSet,
5         hash::{BuildHasher, Hash},
6     },
7 };
8 
9 impl<'a, A, S> Arbitrary<'a> for HashSet<A, S>
10 where
11     A: Arbitrary<'a> + Eq + Hash,
12     S: BuildHasher + Default,
13 {
arbitrary(u: &mut Unstructured<'a>) -> Result<Self>14     fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self> {
15         u.arbitrary_iter()?.collect()
16     }
17 
arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self>18     fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self> {
19         u.arbitrary_take_rest_iter()?.collect()
20     }
21 
22     #[inline]
size_hint(_depth: usize) -> (usize, Option<usize>)23     fn size_hint(_depth: usize) -> (usize, Option<usize>) {
24         (0, None)
25     }
26 }
27