utls 0.5.5

A simple utilities library for stuff I actually use sometimes, with a large focus on convenience and lack of dependencies.
Documentation
//! Display implementations for anything that would benefit from them
use std::fmt;
use super::prog::*;

// Display implementation for PBState
impl fmt::Display for PBState {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            PBState::Running => write!(f, "Running"),
            PBState::Finished => write!(f, "Finished"),
            PBState::Abandoned => write!(f, "Abandoned (failed?)"),
        }
    }
}

// Display implementation for PBStatistics
impl fmt::Display for PBStatistics {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        writeln!(f, "Progress Bar Statistics:")?;
        writeln!(f, "Target Update Frequency: {:?}", self.target_update_freq)?;
        writeln!(
            f,
            "Minimum Update Interval: {:?}",
            self.actual_min_update.unwrap_or_default()
        )?;
        writeln!(
            f,
            "Maximum Update Interval: {:?}",
            self.actual_max_update.unwrap_or_default()
        )?;
        writeln!(
            f,
            "Average Update Interval: {:?}",
            self.actual_avg_update.unwrap_or_default()
        )?;
        writeln!(f, "Total Updates: {}", self.total_updates)?;
        writeln!(
            f,
            "Total Duration: {:?}",
            self.total_duration.unwrap_or_default()
        )?;
        write!(f, "Advanced Statistics Enabled: {}", self.adv_enabled)
    }
}

impl fmt::Display for PB {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(
            f,
            "{}",
            self.gen_immut(),
        )
    }
}