#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(clippy::derive_partial_eq_without_eq)]
#![warn(
missing_docs,
rustdoc::missing_crate_level_docs,
unreachable_pub,
rust_2018_idioms
)]
pub mod future;
pub mod rt;
#[cfg(feature = "test-util")]
pub mod test_util;
pub mod time;
#[macro_export]
macro_rules! assert_elapsed {
($start:expr, $dur:expr) => {
assert_elapsed!($start, $dur, std::time::Duration::from_millis(5));
};
($start:expr, $dur:expr, $margin_of_error:expr) => {{
let elapsed = $start.elapsed();
let margin_of_error: std::time::Duration = $margin_of_error;
let lower: std::time::Duration = $dur - margin_of_error;
let upper: std::time::Duration = $dur + margin_of_error;
assert!(
elapsed >= lower && elapsed <= upper,
"actual = {:?}, expected = {:?}",
elapsed,
lower
);
}};
}