Introduce 'FenError' enum

This commit is contained in:
Bruno BELANYI 2022-07-27 23:24:24 +02:00
parent 0fd9766db0
commit bd662fdd27

View file

@ -4,3 +4,21 @@ pub trait FromFen: Sized {
fn from_fen(s: &str) -> Result<Self, Self::Err>;
}
/// A singular type for all errors that could happen during FEN parsing.
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum FenError {
/// Invalid FEN input.
InvalidFen,
}
impl std::fmt::Display for FenError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let error_msg = match self {
Self::InvalidFen => "Invalid FEN input",
};
write!(f, "{}", error_msg)
}
}
impl std::error::Error for FenError {}