Revision control
Copy as Markdown
Other Tools
#[macro_use]
extern crate error_chain;
pub mod inner {
error_chain! {}
}
#[cfg(feature = "a_feature")]
pub mod feature {
error_chain! {}
}
error_chain! {
// Types generated by the macro. If empty or absent, it defaults to
// Error, ErrorKind, Result;
types {
// With custom names:
MyError, MyErrorKind, MyResult;
// Without the `Result` wrapper:
// Error, ErrorKind;
}
// Automatic bindings to other error types generated by `error_chain!`.
links {
Inner(inner::Error, inner::ErrorKind);
// Attributes can be added at the end of the declaration.
Feature(feature::Error, feature::ErrorKind) #[cfg(feature = "a_feature")];
}
// Bindings to types implementing std::error::Error.
foreign_links {
Io(::std::io::Error);
}
}
fn main() {}