use std::error::Error as StdError;
use std::fmt;
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum Error {
ParseShaSize,
ParseDigest,
InvalidDigest,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let s = match *self {
_ => self.description(),
};
write!(f, "{}", s)
}
}
impl StdError for Error {
fn description(&self) -> &str {
match *self {
Error::ParseShaSize => "Failed to parse ShaSize",
Error::ParseDigest => "Failed to parse Digest",
Error::InvalidDigest => "Digest does not match Body",
}
}
}