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