[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 {
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!(output, " color_to_move: {:?},\n", self.color_to_move)?;
output.push_str(" pieces_per_color: [\n");
write!(f, " pieces_per_color: [\n")?;
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 {
output.push_str(" [\n");
write!(f, " [\n")?;
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, "{}", output)
write!(f, " ],\n}}")
}
}