tune-cli 0.29.0

Explore musical tunings and create synthesizer tuning files for microtonal scales.
Documentation
use std::fmt::Debug;
use std::fmt::Display;

pub trait ResultExt<T, E>: Sized {
    fn into_result(self) -> Result<T, E>;

    fn debug_err<F>(self, context: &str) -> Result<T, F>
    where
        E: Debug,
        F: From<String>,
    {
        self.into_result()
            .map_err(|err| F::from(format!("{context}\n{err:#?}")))
    }

    fn display_err<F>(self, context: &str) -> Result<T, F>
    where
        E: Display,
        F: From<String>,
    {
        self.into_result()
            .map_err(|err| F::from(format!("{context}\n{err}")))
    }
}

impl<T, E> ResultExt<T, E> for Result<T, E> {
    fn into_result(self) -> Result<T, E> {
        self
    }
}