From f09376f5dc6de86eb2c525606011393a04729378 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 2 Feb 2024 07:25:59 -0800 Subject: [PATCH] [position] Make the checking_piece! macro handle specifying the path to the piece constructor --- position/src/position/position.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/position/src/position/position.rs b/position/src/position/position.rs index 7e211b4..75b4b79 100644 --- a/position/src/position/position.rs +++ b/position/src/position/position.rs @@ -265,19 +265,19 @@ impl Position { }; macro_rules! checking_piece { - ($moves_bb_fn:path, $piece_fn:path) => {{ + ($moves_bb_fn:path, $piece_fn:ident) => {{ let moves_from_opposing_square = $moves_bb_fn(king_square); - let piece = $piece_fn(opponent); + let piece = Piece::$piece_fn(opponent); let opposing_pieces = self.pieces.bitboard_for_piece(&piece); moves_from_opposing_square & opposing_pieces }}; } - let checking_knights = checking_piece!(BitBoard::knight_moves, Piece::knight); - let checking_bishops = checking_piece!(BitBoard::bishop_moves, Piece::bishop); - let checking_rooks = checking_piece!(BitBoard::rook_moves, Piece::rook); - let checking_queens = checking_piece!(BitBoard::queen_moves, Piece::queen); + let checking_knights = checking_piece!(BitBoard::knight_moves, knight); + let checking_bishops = checking_piece!(BitBoard::bishop_moves, bishop); + let checking_rooks = checking_piece!(BitBoard::rook_moves, rook); + let checking_queens = checking_piece!(BitBoard::queen_moves, queen); CheckingPieces::new( checking_pawns,