#[derive(Debug, Clone, PartialEq)]
pub enum FromWireError {
UnsupportedKind { kind: String },
MalformedField { field: &'static str, detail: String },
DeserialisationFailed(String),
}
impl std::fmt::Display for FromWireError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
FromWireError::UnsupportedKind { kind } => {
write!(f, "wire AST: unsupported kind `{kind}`")
}
FromWireError::MalformedField { field, detail } => {
write!(f, "wire AST: malformed field `{field}`: {detail}")
}
FromWireError::DeserialisationFailed(msg) => {
write!(f, "wire AST: deserialisation failed: {msg}")
}
}
}
}
impl std::error::Error for FromWireError {}