1use std::fmt;
2
3#[derive(Debug)]
4pub enum DataError {
5 Io(String),
6 Parse(String),
7}
8
9impl fmt::Display for DataError {
10 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
11 match self {
12 DataError::Io(m) => write!(f, "io error: {m}"),
13 DataError::Parse(m) => write!(f, "parse error: {m}"),
14 }
15 }
16}
17
18impl std::error::Error for DataError {}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn display_messages() {
26 assert!(DataError::Io("x".into()).to_string().contains("io"));
27 assert!(DataError::Parse("y".into()).to_string().contains("parse"));
28 }
29}