utls 0.11.9

A simple utilities library for stuff I actually use sometimes, with a large focus on convenience and lack of dependencies.
Documentation
/// Defines the actions to take when a Watcher expires
#[derive(Clone)]
pub enum ExpirationAction<T, A: std::marker::Tuple, F: Fn(A)> {
    /// Do nothing when expired
    None,
    /// Reset the value to its initial state
    Reset,
    /// Shutdown the watcher thread
    Shutdown,
    /// Panic on expiration
    Panic,
    /// Set the watched value to the given value, set the changed flag to true, and shutdown the watcher thread.
    Set(T),
    /// Panic with a message on expiration
    PanicWMessage(String),
    /// Run a function with an argument on expiration
    RunFunc(F, A),
}

/// Defines the actions to take when a progress bar times out
#[derive(Clone)]
pub enum PBTimeoutAction<T: Into<usize>, A: std::marker::Tuple, F: Fn(A)> {
    /// Do nothing when expired
    None,
    /// Abort the progress bar on expiration
    Abort,
    /// Finish the progress bar on expiration
    Finish,
    /// Panic on expiration
    Panic,
    /// Set the current value to another
    Set(T),
    /// Panic with a message on expiration
    PanicWMessage(String),
    /// Run a function with an argument on expiration
    RunFunc(F, A),
}