diff --git a/moves/src/generators/all.rs b/moves/src/generators/all.rs index d11ffd0..581930f 100644 --- a/moves/src/generators/all.rs +++ b/moves/src/generators/all.rs @@ -10,23 +10,23 @@ use std::iter::{Fuse, FusedIterator}; #[must_use] pub struct AllPiecesMoveGenerator { - pawn_move_generator: Fuse, - knight_move_generator: Fuse, - bishop_move_generator: Fuse, - rook_move_generator: Fuse, - queen_move_generator: Fuse, - king_move_generator: Fuse, + pawn: Fuse, + knight: Fuse, + bishop: Fuse, + rook: Fuse, + queen: Fuse, + king: Fuse, } impl AllPiecesMoveGenerator { pub fn new(board: &Board, color: Option) -> Self { Self { - pawn_move_generator: PawnMoveGenerator::new(board, color).fuse(), - knight_move_generator: KnightMoveGenerator::new(board, color).fuse(), - bishop_move_generator: BishopMoveGenerator::new(board, color).fuse(), - rook_move_generator: RookMoveGenerator::new(board, color).fuse(), - queen_move_generator: QueenMoveGenerator::new(board, color).fuse(), - king_move_generator: KingMoveGenerator::new(board, color).fuse(), + pawn: PawnMoveGenerator::new(board, color).fuse(), + knight: KnightMoveGenerator::new(board, color).fuse(), + bishop: BishopMoveGenerator::new(board, color).fuse(), + rook: RookMoveGenerator::new(board, color).fuse(), + queen: QueenMoveGenerator::new(board, color).fuse(), + king: KingMoveGenerator::new(board, color).fuse(), } } } @@ -36,12 +36,12 @@ impl Iterator for AllPiecesMoveGenerator { fn next(&mut self) -> Option { macro_rules! return_next_move { - ($generator:expr) => {{ + ($generator:expr) => { let next_move = $generator.next(); if next_move.is_some() { return next_move; } - }}; + }; } // All of these iterators are fused, meaning they are guaranteed to @@ -50,12 +50,12 @@ impl Iterator for AllPiecesMoveGenerator { // generators' next() methods doesn't have to be repeated every time // next() is called. - return_next_move!(self.pawn_move_generator); - return_next_move!(self.knight_move_generator); - return_next_move!(self.bishop_move_generator); - return_next_move!(self.rook_move_generator); - return_next_move!(self.queen_move_generator); - return_next_move!(self.king_move_generator); + return_next_move!(self.pawn); + return_next_move!(self.knight); + return_next_move!(self.bishop); + return_next_move!(self.rook); + return_next_move!(self.queen); + return_next_move!(self.king); None }