logic_eval_util/
lib.rs

1pub mod str;
2pub mod symbol;
3pub mod unique;
4
5// === Hash map and set used within this crate ===
6
7#[cfg(not(test))]
8pub(crate) type Map<K, V> = std::collections::HashMap<K, V>;
9
10#[cfg(test)]
11pub(crate) type Map<K, V> = std::collections::HashMap<K, V, FixedState>;
12
13#[cfg(not(test))]
14pub(crate) type Set<T> = std::collections::HashSet<T>;
15
16#[cfg(test)]
17pub(crate) type Set<T> = std::collections::HashSet<T, FixedState>;
18
19#[cfg(test)]
20#[derive(Default, Clone, Copy)]
21struct FixedState;
22
23#[cfg(test)]
24impl std::hash::BuildHasher for FixedState {
25    type Hasher = std::hash::DefaultHasher;
26    fn build_hasher(&self) -> Self::Hasher {
27        std::hash::DefaultHasher::new()
28    }
29}