diff --git a/board/src/position/pieces.rs b/board/src/position/pieces.rs index aeb67f9..d5965d5 100644 --- a/board/src/position/pieces.rs +++ b/board/src/position/pieces.rs @@ -45,7 +45,7 @@ impl<'a> Iterator for Pieces<'a> { while let Some(shape) = self.shape_iterator.next() { let piece = Piece::new(self.color, shape); - let bitboard = self.position.bitboard_for_piece(&piece); + let bitboard = self.position.bitboard_for_piece(piece); if bitboard.is_empty() { println!("No {:?} pieces; looping", &piece); continue; diff --git a/board/src/position/position.rs b/board/src/position/position.rs index 5d043e9..8181ff1 100644 --- a/board/src/position/position.rs +++ b/board/src/position/position.rs @@ -90,7 +90,7 @@ impl Position { Ok(()) } - pub(super) fn bitboard_for_piece(&self, piece: &Piece) -> &BitBoard { + pub(super) fn bitboard_for_piece(&self, piece: Piece) -> &BitBoard { &self.pieces_per_type[piece.color as usize][piece.shape as usize] } @@ -102,7 +102,7 @@ impl Position { for color in Color::iter() { for shape in Shape::iter() { let piece = Piece::new(color, shape); - let bb = self.bitboard_for_piece(&piece); + let bb = self.bitboard_for_piece(piece); if bb.has_piece_at(&sq) { return Some(PlacedPiece::new(piece, sq)); }