diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/simple.rs | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/examples/simple.rs b/examples/simple.rs index a4b76f2..563530c 100644 --- a/examples/simple.rs +++ b/examples/simple.rs @@ -8,7 +8,7 @@ use std::path::Path; use xml_stinks::deserializer::buffered::Buffered as BufferedDeserializer; use xml_stinks::deserializer::{Deserializer, Error as DeserializerError, IgnoreEnd}; use xml_stinks::tagged::TagStart; -use xml_stinks::DeserializeTagged; +use xml_stinks::{impl_from_deserializer_error, DeserializeTagged}; const MANIFEST_DIR: &str = std::env!("CARGO_MANIFEST_DIR"); @@ -81,17 +81,7 @@ enum DataError DeserializeFailed(#[from] DeserializerError<Infallible>), } -impl<DeError: Into<Self>> From<DeserializerError<DeError>> for DataError -{ - fn from(err: DeserializerError<DeError>) -> Self - { - if let DeserializerError::DeserializeFailed(de_err) = err { - return de_err.into(); - } - - err.into_never_de_err().into() - } -} +impl_from_deserializer_error!(DataError); #[derive(Debug)] struct Favorites @@ -130,14 +120,4 @@ enum FavoritesError DeserializeFailed(#[from] DeserializerError<Infallible>), } -impl<DeError: Into<Self>> From<DeserializerError<DeError>> for FavoritesError -{ - fn from(err: DeserializerError<DeError>) -> Self - { - if let DeserializerError::DeserializeFailed(de_err) = err { - return de_err.into(); - } - - err.into_never_de_err().into() - } -} +impl_from_deserializer_error!(FavoritesError); |