use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("generic error")]
Generic,
#[error("{0}")]
OutOfBounds(String),
#[error(transparent)]
IOError(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, Error>;
#[cfg(test)]
mod tests_error {
use super::Error;
fn assert<T: std::fmt::Display>(expected: &str, value: T) {
assert_eq!(expected, value.to_string());
}
#[test]
fn test_error() {
assert("generic error", Error::Generic);
}
}