[board] Remove the intermediate string in the Debug implementation for Position

This commit is contained in:
Eryn Wells 2024-01-17 08:24:53 -08:00
parent 177a4e32da
commit 3a15fca10a

View file

@ -259,28 +259,24 @@ impl FromIterator<PlacedPiece> for Position {
impl fmt::Debug for Position { impl fmt::Debug for Position {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut output = String::new(); write!(f, "Position {{\n")?;
write!(f, " color_to_move: {:?},\n", self.color_to_move)?;
output.push_str("Position {\n"); write!(f, " pieces_per_color: [\n")?;
write!(output, " color_to_move: {:?},\n", self.color_to_move)?;
output.push_str(" pieces_per_color: [\n");
for bb in self.pieces_per_color { for bb in self.pieces_per_color {
write!(output, " {bb:?},\n")?; write!(f, " {bb:?},\n")?;
} }
output.push_str(" ],\n"); write!(f, " ],\n")?;
output.push_str(" pieces_per_type: [\n"); write!(f, " pieces_per_type: [\n")?;
for color_bbs in self.pieces_per_type { for color_bbs in self.pieces_per_type {
output.push_str(" [\n"); write!(f, " [\n")?;
for bb in color_bbs { for bb in color_bbs {
write!(output, " {bb:?},\n")?; write!(f, " {bb:?},\n")?;
} }
output.push_str(" ],\n"); write!(f, " ],\n")?;
} }
output.push_str(" ],\n}"); write!(f, " ],\n}}")
write!(f, "{}", output)
} }
} }