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