#[derive(Debug)]
#[non_exhaustive]
pub enum DemesForwardError {
DemesError(demes::DemesError),
TimeError(String),
InvalidDemeSize(f64),
InternalError(String),
}
impl From<demes::DemesError> for DemesForwardError {
fn from(value: demes::DemesError) -> Self {
Self::DemesError(value)
}
}
impl std::fmt::Display for DemesForwardError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
DemesForwardError::DemesError(e) => write!(f, "{e:?}"),
DemesForwardError::TimeError(msg) => write!(f, "time error: {msg}"),
DemesForwardError::InvalidDemeSize(value) => write!(f, "invalid deme size: {value}"),
DemesForwardError::InternalError(msg) => write!(f, "internal error: {msg}"),
}
}
}
impl std::error::Error for DemesForwardError {}