diff options
-rw-r--r-- | gen/lib/src/error.rs | 16 | ||||
-rw-r--r-- | gen/lib/src/lib.rs | 4 |
2 files changed, 14 insertions, 6 deletions
diff --git a/gen/lib/src/error.rs b/gen/lib/src/error.rs index 3cf1e625..26249be3 100644 --- a/gen/lib/src/error.rs +++ b/gen/lib/src/error.rs @@ -4,22 +4,30 @@ use std::error::Error as StdError; use std::fmt::{self, Debug, Display}; -pub struct Error(pub(crate) crate::gen::Error); +pub struct Error { + pub(crate) err: crate::gen::Error, +} + +impl From<crate::gen::Error> for Error { + fn from(err: crate::gen::Error) -> Self { + Error { err } + } +} impl Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - Display::fmt(&self.0, f) + Display::fmt(&self.err, f) } } impl Debug for Error { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - Debug::fmt(&self.0, f) + Debug::fmt(&self.err, f) } } impl StdError for Error { fn source(&self) -> Option<&(dyn StdError + 'static)> { - self.0.source() + self.err.source() } } diff --git a/gen/lib/src/lib.rs b/gen/lib/src/lib.rs index bdeedfca..6456200c 100644 --- a/gen/lib/src/lib.rs +++ b/gen/lib/src/lib.rs @@ -22,6 +22,6 @@ use proc_macro2::TokenStream; pub fn generate_header_and_cc(rust_source: TokenStream, opt: &Opt) -> Result<GeneratedCode, Error> { let syntax = syn::parse2(rust_source) .map_err(crate::gen::Error::from) - .map_err(Error)?; - gen::generate(syntax, opt).map_err(Error) + .map_err(Error::from)?; + gen::generate(syntax, opt).map_err(Error::from) } |