1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
pub type Result<T> = std::result::Result<T, Error>; macro_rules! create_error { ($($error:ty => $name:ident)*) => { #[derive(Debug)] pub enum Error { Message(&'static str), $( $name($error) ),* } $( impl From<$error> for Error { fn from(x: $error) -> Self { Error::$name(x) } } )* }; } create_error! { std::io::Error => Io ring::error::Unspecified => RingUnspecified }