#![doc(hidden)]
#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
pub type Result<T, E = ohno::AppError> = core::result::Result<T, E>;
pub(crate) type HashMap<K, V> = rustc_hash::FxHashMap<K, V>;
pub(crate) type HashSet<V> = rustc_hash::FxHashSet<V>;
pub(crate) fn hash_map_with_capacity<K, V>(capacity: usize) -> HashMap<K, V> {
HashMap::with_capacity_and_hasher(capacity, rustc_hash::FxBuildHasher)
}
pub(crate) fn hash_set_with_capacity<V>(capacity: usize) -> HashSet<V> {
HashSet::with_capacity_and_hasher(capacity, rustc_hash::FxBuildHasher)
}
macro_rules! declare_modules {
($($mod:ident),+ $(,)?) => {
$(
#[cfg(debug_assertions)]
pub mod $mod;
#[cfg(not(debug_assertions))]
mod $mod;
)+
};
}
declare_modules!(commands, expr, facts, metrics, reports);
pub use crate::commands::{Host, run};