From 3a15fca10ae97bead4269478bea37190d6b90643 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Wed, 17 Jan 2024 08:24:53 -0800 Subject: [PATCH] [board] Remove the intermediate string in the Debug implementation for Position --- board/src/position/position.rs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) 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}}") } }