use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum DiffError {
NotImplemented(String),
InvalidMarker(String),
AmbiguousColumn(String),
ProjectionBoundary(String),
Parse(String),
Internal(String),
}
impl fmt::Display for DiffError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
DiffError::NotImplemented(m) => write!(f, "not implemented: {m}"),
DiffError::InvalidMarker(m) => write!(f, "invalid marker call: {m}"),
DiffError::AmbiguousColumn(m) => write!(f, "ambiguous column: {m}"),
DiffError::ProjectionBoundary(m) => write!(f, "projection boundary: {m}"),
DiffError::Parse(m) => write!(f, "parse error: {m}"),
DiffError::Internal(m) => write!(f, "internal error: {m}"),
}
}
}
impl std::error::Error for DiffError {}
pub type Result<T> = std::result::Result<T, DiffError>;