From 3c82433e7d9b9847903e79317c6a3804c2162ae6 Mon Sep 17 00:00:00 2001 From: JustForFun88 <100504524+JustForFun88@users.noreply.github.com> Date: Tue, 20 Dec 2022 00:44:05 +0500 Subject: [PATCH] Remove unnecessary vector allocation in `TerminalPanel::update` (#1834) --- lapce-ui/src/terminal.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lapce-ui/src/terminal.rs b/lapce-ui/src/terminal.rs index c7cc0942..879e0331 100644 --- a/lapce-ui/src/terminal.rs +++ b/lapce-ui/src/terminal.rs @@ -231,13 +231,14 @@ fn update( self.tabs.insert(*tab_id, WidgetPod::new(split)); } } - for tab_id in self.tabs.keys().copied().collect::>() { - if !data.terminal.tabs.contains_key(&tab_id) { + self.tabs.retain(|tab_id, _| { + if !data.terminal.tabs.contains_key(tab_id) { changed = true; ctx.children_changed(); - self.tabs.remove(&tab_id); + return false; } - } + true + }); if changed && !self.tabs.is_empty() { ctx.submit_command(Command::new( LAPCE_UI_COMMAND,