aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gen/lib/src/error.rs16
-rw-r--r--gen/lib/src/lib.rs4
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)
}