From d0b1391738648c6b69ce163d1bb8677f13932358 Mon Sep 17 00:00:00 2001 From: Jeremiah Russell Date: Mon, 20 Oct 2025 07:38:19 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20fix(message-list):=20improve=20idio?= =?UTF-8?q?ms=20(avoid=20redundant=20clone,=20extend=20labels,=20safer=20m?= =?UTF-8?q?essage=20extraction)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/message_list.rs | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/message_list.rs b/src/message_list.rs index 813ac1b..d0b15ff 100644 --- a/src/message_list.rs +++ b/src/message_list.rs @@ -372,9 +372,7 @@ impl MessageList for GmailClient { /// Add label to the labels collection fn add_labels_ids(&mut self, label_ids: &[String]) { if !label_ids.is_empty() { - for id in label_ids { - self.label_ids.push(id.to_string()) - } + self.label_ids.extend(label_ids.iter().cloned()); } } @@ -390,11 +388,7 @@ impl MessageList for GmailClient { /// Get a reference to the message_ids fn message_ids(&self) -> Vec { - self.messages - .iter() - .map(|m| m.id().to_string()) - .collect::>() - .clone() + self.messages.iter().map(|m| m.id().to_string()).collect() } /// Get a reference to the message_ids @@ -479,14 +473,13 @@ impl MessageList for GmailClient { return Ok(list); } - let mut list_ids = list - .clone() - .messages - .unwrap() - .iter() - .flat_map(|item| item.id.as_ref().map(|id| MessageSummary::new(id))) - .collect(); - self.messages.append(&mut list_ids); + if let Some(msgs) = &list.messages { + let mut list_ids: Vec = msgs + .iter() + .flat_map(|item| item.id.as_deref().map(MessageSummary::new)) + .collect(); + self.messages.append(&mut list_ids); + } Ok(list) }