diff --git a/moves/src/lib.rs b/moves/src/lib.rs index 11f8422..fd74a25 100644 --- a/moves/src/lib.rs +++ b/moves/src/lib.rs @@ -6,8 +6,10 @@ pub mod testing; mod builder; mod defs; mod moves; +mod record; pub use builder::{Builder, Error as BuildMoveError, Result as BuildMoveResult}; pub use defs::{Kind, PromotionShape}; pub use generators::GeneratedMove; pub use moves::Move; +pub use record::MoveRecord; diff --git a/position/src/move_record.rs b/moves/src/record.rs similarity index 95% rename from position/src/move_record.rs rename to moves/src/record.rs index fa80aa3..3c91867 100644 --- a/position/src/move_record.rs +++ b/moves/src/record.rs @@ -1,14 +1,14 @@ // Eryn Wells +use crate::Move; use chessfriend_board::{board::HalfMoveClock, Board, CastleRights}; use chessfriend_core::{Color, Piece, Square}; -use chessfriend_moves::Move; /// A record of a move made on a board. This struct contains all the information /// necessary to restore the board position to its state immediately before the /// move was made. #[derive(Clone, Debug, Eq, PartialEq)] -pub(crate) struct MoveRecord { +pub struct MoveRecord { /// The color of the player who made the move pub color: Color, @@ -29,6 +29,7 @@ pub(crate) struct MoveRecord { } impl MoveRecord { + #[must_use] pub fn new(board: &Board, ply: Move, capture: Option) -> Self { Self { color: board.active_color, diff --git a/position/src/lib.rs b/position/src/lib.rs index af97f5d..0307e41 100644 --- a/position/src/lib.rs +++ b/position/src/lib.rs @@ -1,6 +1,5 @@ // Eryn Wells -mod move_record; mod position; #[macro_use] diff --git a/position/src/position.rs b/position/src/position.rs index 700190c..c4326a5 100644 --- a/position/src/position.rs +++ b/position/src/position.rs @@ -9,11 +9,10 @@ use chessfriend_moves::{ AllPiecesMoveGenerator, BishopMoveGenerator, KingMoveGenerator, KnightMoveGenerator, PawnMoveGenerator, QueenMoveGenerator, RookMoveGenerator, }, - GeneratedMove, + GeneratedMove, Move, MoveRecord, }; pub use make_move::{MakeMoveError, ValidateMove}; -use crate::move_record::MoveRecord; use captures::CapturesList; use chessfriend_bitboard::BitBoard; use chessfriend_board::{ diff --git a/position/src/position/make_move.rs b/position/src/position/make_move.rs index 52bff90..cfb380a 100644 --- a/position/src/position/make_move.rs +++ b/position/src/position/make_move.rs @@ -1,11 +1,11 @@ // Eryn Wells -use crate::{move_record::MoveRecord, Position}; +use crate::Position; use chessfriend_board::{ castle::CastleEvaluationError, movement::Movement, Board, PlacePieceError, PlacePieceStrategy, }; use chessfriend_core::{Color, Piece, Rank, Square, Wing}; -use chessfriend_moves::Move; +use chessfriend_moves::{Move, MoveRecord}; use thiserror::Error; type MakeMoveResult = Result;