pub enum GameError {
Show 16 variants
MovingPieceNotFound,
KingIsSafe,
KingIsInCheck,
KingIsInCheckmate,
KingCannotCastleSafetly,
OurKingMustBeSafe,
CaptureNotSet,
CaptureAlly,
NoCapturePiece,
GameOver(Gamestate),
CastlingUnderCheck,
CastlingUnavailable,
CastlingSquaresNotEmpty,
InvalidPawnMovement,
ParsingTurnFailed,
UndoNotAvailable,
}Expand description
Error codes
Variants§
MovingPieceNotFound
Origin square not found for moving piece
KingIsSafe
Unexpected king state for the turn
KingIsInCheck
Unexpected king state for the turn
KingIsInCheckmate
Unexpected king state for the turn
KingCannotCastleSafetly
King movement during castling must not be under check
OurKingMustBeSafe
Upon executing the turn, king must remain safe
CaptureNotSet
Turn missing info about the capture
CaptureAlly
Capture of an ally piece is not allowed
NoCapturePiece
Capture expected, but capture piece missing on the board on the destination square
GameOver(Gamestate)
Game over
CastlingUnderCheck
King can castle if it is not under check
Castling not possible
- Maybe king/rook has moved already and doing so made castling unavailable
CastlingSquaresNotEmpty
Squares between a rook and a king must be empty in order to perform castling turn
InvalidPawnMovement
Pawn moves:
- diagonally only by capture action
- straight in case of no capture action
ParsingTurnFailed
Turn notation is not correct
UndoNotAvailable
Undo unavailable
Trait Implementations§
Source§impl Error for GameError
impl Error for GameError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
impl StructuralPartialEq for GameError
Auto Trait Implementations§
impl Freeze for GameError
impl RefUnwindSafe for GameError
impl Send for GameError
impl Sync for GameError
impl Unpin for GameError
impl UnwindSafe for GameError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more