pub use failure::{Error, Fail}; pub type Result = std::result::Result; #[derive(Debug, Fail)] pub enum AnkiError { #[fail(display = "invalid input: {}", info)] InvalidInput { info: String }, #[fail(display = "invalid card template: {}", info)] TemplateParseError { info: String }, } // error helpers impl AnkiError { pub(crate) fn parse>(s: S) -> AnkiError { AnkiError::TemplateParseError { info: s.into() } } pub(crate) fn invalid_input>(s: S) -> AnkiError { AnkiError::InvalidInput { info: s.into() } } }