clevel 0.1.7

Assessment of expert competence
Documentation
#[derive(Debug)]
pub enum ClevelError {
    SIMPLE(String),
}

impl ClevelError {
    pub fn simple<T: Into<String>>(msg: T) -> ClevelError {
        ClevelError::SIMPLE(msg.into())
    }
}

impl std::fmt::Display for ClevelError {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match *self {
            ClevelError::SIMPLE(ref s) => write!(f, "{}", s),
        }
    }
}

impl std::error::Error for ClevelError {
    fn cause(&self) -> Option<&dyn std::error::Error> {
        match *self {
            ClevelError::SIMPLE(ref _s) => Some(self),
        }
    }
}

impl From<std::string::FromUtf8Error> for ClevelError {
    fn from(_: std::string::FromUtf8Error) -> ClevelError {
        ClevelError::SIMPLE("Unable to convert UTF-8 to string".to_string())
    }
}