diff --git a/implementations/rust/preserves-schema/src/support/mod.rs b/implementations/rust/preserves-schema/src/support/mod.rs index 6b8cacf..e42f8f9 100644 --- a/implementations/rust/preserves-schema/src/support/mod.rs +++ b/implementations/rust/preserves-schema/src/support/mod.rs @@ -53,7 +53,18 @@ pub enum ParseError { #[error("Input not conformant with Schema: {0}")] ConformanceError(&'static str), #[error(transparent)] - Preserves(#[from] preserves::error::Error), + Preserves(preserves::error::Error), +} + +impl From for ParseError { + fn from(v: preserves::error::Error) -> Self { + match v { + preserves::error::Error::Expected(_, _) => + ParseError::ConformanceError("preserves::error::Error::Expected"), + _ => + ParseError::Preserves(v), + } + } } impl From for ParseError {