friendly_chess/
errors.rs

1use thiserror::Error;
2
3#[derive(Error, Debug, PartialEq, Eq)]
4pub enum MoveError {
5    #[error("Illegal king side castle")]
6    IllegalKingSideCastle,
7
8    #[error("Illegal queen side castle")]
9    IllegalQueenSideCastle,
10
11    #[error("Illegal capture")]
12    IllegalCapture,
13
14    #[error("Unknown piece")]
15    UnknownPiece,
16
17    #[error("Ambiguous move notation")]
18    AmbiguousMoveNotation,
19
20    #[error("Can't find piece to move")]
21    InvalidPieceToMove,
22
23    #[error("Invalid promotion")]
24    InvalidPromotion,
25}