errortools 0.1.0

Quality of life utilities for error handling in Rust.
Documentation
//! `FormatError` extension trait for ad-hoc formatting (e.g. logging).
//!
//! Run: `cargo run --example format_error`

use std::io;

use errortools::FormatError;

#[derive(Debug, thiserror::Error)]
enum AppError {
    #[error("failed to load config")]
    Config(#[source] io::Error),
}

fn main() {
    let err = AppError::Config(io::Error::new(io::ErrorKind::NotFound, "missing.toml"));

    println!("one line: {}", err.one_line());
    println!();
    println!("tree:\n{}", err.tree());

    let dyn_err: &dyn core::error::Error = &err;
    println!();
    println!("dyn: {}", dyn_err.one_line());
}