diff --git a/board/src/position/position.rs b/board/src/position/position.rs index 0557c27..b9d7133 100644 --- a/board/src/position/position.rs +++ b/board/src/position/position.rs @@ -259,28 +259,24 @@ impl FromIterator 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}}") } }