1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use std::io; #[derive(Debug, Fail)] pub enum Error { #[fail(display = "Invalid Data")] InvalidData, #[fail(display = "{} more bytes needed", _0)] MoreDataNeeded(usize), #[fail(display = "I/O error")] Io(#[cause] io::Error), } impl From<io::Error> for Error { fn from(e: io::Error) -> Self { Error::Io(e) } } pub type Result<T> = ::std::result::Result<T, Error>;