From d3dcfd8e0935042faa4c715bb2122e76f83ea0f5 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 17 Aug 2025 10:45:50 +0200 Subject: [PATCH] bin/patch: Replace manual filter-collect This patch replaces the manual filtering and pushing of iterators to collections by using the more performant iterator API. Signed-off-by: Matthias Beyer --- bin/commands/patch/list.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/commands/patch/list.rs b/bin/commands/patch/list.rs index dd486487..058b7538 100644 --- a/bin/commands/patch/list.rs +++ b/bin/commands/patch/list.rs @@ -114,12 +114,13 @@ impl TryFrom<&Context> for State { let filter = PatchItemFilter::from_str(&context.filter.to_string()).unwrap_or_default(); // Convert into UI items - let mut items = vec![]; - for patch in patches { - if let Ok(item) = PatchItem::new(&context.profile, &context.repository, patch.clone()) { - items.push(item); - } - } + let mut items: Vec<_> = patches + .into_iter() + .flat_map(|patch| { + PatchItem::new(&context.profile, &context.repository, patch.clone()).ok() + }) + .collect(); + items.sort_by(|a, b| b.timestamp.cmp(&a.timestamp)); Ok(Self {