1#[derive(Debug)]
3#[non_exhaustive]
4pub enum DemesForwardError {
5 DemesError(demes::DemesError),
7 TimeError(String),
12 InvalidDemeSize(f64),
16 InternalError(String),
20}
21
22impl From<demes::DemesError> for DemesForwardError {
23 fn from(value: demes::DemesError) -> Self {
24 Self::DemesError(value)
25 }
26}
27
28impl std::fmt::Display for DemesForwardError {
29 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
30 match self {
31 DemesForwardError::DemesError(e) => write!(f, "{e:?}"),
32 DemesForwardError::TimeError(msg) => write!(f, "time error: {msg}"),
33 DemesForwardError::InvalidDemeSize(value) => write!(f, "invalid deme size: {value}"),
34 DemesForwardError::InternalError(msg) => write!(f, "internal error: {msg}"),
35 }
36 }
37}
38
39impl std::error::Error for DemesForwardError {}