Skip to main content

fake/impls/std/collections/
mod.rs

1use std::ops::Range;
2
3use rand::RngExt;
4
5use crate::{Fake, Faker};
6
7const DEFAULT_LEN_RANGE: Range<usize> = 0..10;
8
9pub mod binary_heap;
10pub mod btree_map;
11pub mod btree_set;
12pub mod hash_map;
13pub mod hash_set;
14pub mod linked_list;
15pub mod vec;
16pub mod vec_deque;
17
18#[allow(unused_mut, unused_variables)]
19pub fn get_len<R: RngExt + ?Sized>(config: &Faker, rng: &mut R) -> usize {
20    let mut range = DEFAULT_LEN_RANGE;
21    #[cfg(feature = "maybe-non-empty-collections")]
22    if config.fake_with_rng(rng) {
23        // allow to use AlwaysTrueRng to generate non-empty collections
24        range.start = 1;
25    }
26    range.fake_with_rng(rng)
27}