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}