//! Runtime abstraction: one async `sleep` over the selected backend.
//!
//! Notifications use `event-listener` and races use `futures-lite`, both
//! runtime-agnostic, so the only runtime-specific operation is the timer.
//! Exactly one of the `tokio` (default) or `smol` features provides it; the rest
//! of the waiting surface is identical on either, and the same async code runs on
//! whichever executor the application drives it with.
use Duration;
compile_error!;
/// Sleeps for `duration` using tokio's timer.
pub async
/// Sleeps for `duration` using smol's timer.
pub async