From a65c0c8ef1ff4d791fc4db546e4fb5826e86ec72 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 8 Mar 2024 08:18:49 -0800 Subject: [PATCH] [position] Make the Position initializer methods const Position::empty() and Position::starting can both be const. Neat! --- position/src/position/position.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/position/src/position/position.rs b/position/src/position/position.rs index a6fc369..4b75758 100644 --- a/position/src/position/position.rs +++ b/position/src/position/position.rs @@ -24,13 +24,13 @@ pub struct Position { } impl Position { - pub fn empty() -> Position { + pub const fn empty() -> Position { Default::default() } /// Return a starting position. - pub fn starting() -> Self { - let black_pieces = [ + pub const fn starting() -> Self { + const BLACK_PIECES: [BitBoard; 6] = [ BitBoard::new(0b0000000011111111 << 48), BitBoard::new(0b0100001000000000 << 48), BitBoard::new(0b0010010000000000 << 48), @@ -39,7 +39,7 @@ impl Position { BitBoard::new(0b0001000000000000 << 48), ]; - let white_pieces = [ + const WHITE_PIECES: [BitBoard; 6] = [ BitBoard::new(0b1111111100000000), BitBoard::new(0b0000000001000010), BitBoard::new(0b0000000000100100), @@ -50,7 +50,7 @@ impl Position { Self { color_to_move: Color::White, - pieces: PieceBitBoards::new([white_pieces, black_pieces]), + pieces: PieceBitBoards::new([WHITE_PIECES, BLACK_PIECES]), ..Default::default() } }