From 11fc98c9c9c4c681d265e765df05c2f9d503ddc9 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 7 Sep 2025 12:39:32 +0200 Subject: [PATCH] term: Replace manual Extend impl for Table Signed-off-by: Matthias Beyer --- crates/radicle-term/src/table.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/crates/radicle-term/src/table.rs b/crates/radicle-term/src/table.rs index 8cc8ff34..ddc27013 100644 --- a/crates/radicle-term/src/table.rs +++ b/crates/radicle-term/src/table.rs @@ -191,12 +191,6 @@ impl Table { self.rows.push(Row::Header(row)); } - pub fn extend(&mut self, rows: impl IntoIterator) { - for row in rows.into_iter() { - self.push(row); - } - } - pub fn is_empty(&self) -> bool { !self.rows.iter().any(|r| matches!(r, Row::Data { .. })) } @@ -225,6 +219,20 @@ impl Table { } } +impl Extend<[T; W]> for Table { + fn extend(&mut self, iter: I) + where + I: IntoIterator, + { + self.rows.extend(iter.into_iter().map(|row| { + for (i, cell) in row.iter().enumerate() { + self.widths[i] = self.widths[i].max(cell.width()); + } + Row::Data(row) + })); + } +} + #[cfg(test)] mod test { use crate::Element;