From e3cef1df54cc358508145473f5254ebd05b229bd Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Wed, 15 Apr 2026 23:45:50 +0100 Subject: [PATCH 1/2] clippy: fix collapsible_match lint https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match --- src/groupbylazy.rs | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/groupbylazy.rs b/src/groupbylazy.rs index af7512343..5f310f43e 100644 --- a/src/groupbylazy.rs +++ b/src/groupbylazy.rs @@ -198,14 +198,12 @@ where while let Some(elt) = self.next_element() { let key = self.key.call_mut(&elt); match self.current_key.take() { - None => {} - Some(old_key) => { - if old_key != key { - self.current_key = Some(key); - first_elt = Some(elt); - break; - } + Some(old_key) if old_key != key => { + self.current_key = Some(key); + first_elt = Some(elt); + break; } + _ => {} } self.current_key = Some(key); if self.top_group != self.dropped_group { @@ -249,15 +247,13 @@ where Some(elt) => { let key = self.key.call_mut(&elt); match self.current_key.take() { - None => {} - Some(old_key) => { - if old_key != key { - self.current_key = Some(key); - self.current_elt = Some(elt); - self.top_group += 1; - return None; - } + Some(old_key) if old_key != key => { + self.current_key = Some(key); + self.current_elt = Some(elt); + self.top_group += 1; + return None; } + _ => {} } self.current_key = Some(key); Some(elt) From 348e1baf4ff2917739348be3835797831a0c0136 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Thu, 16 Apr 2026 12:37:08 +0100 Subject: [PATCH 2/2] refactor: replace match with a single if let guard --- src/groupbylazy.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/groupbylazy.rs b/src/groupbylazy.rs index 5f310f43e..f2f717fb9 100644 --- a/src/groupbylazy.rs +++ b/src/groupbylazy.rs @@ -197,13 +197,12 @@ where while let Some(elt) = self.next_element() { let key = self.key.call_mut(&elt); - match self.current_key.take() { - Some(old_key) if old_key != key => { + if let Some(old_key) = self.current_key.take() { + if old_key != key { self.current_key = Some(key); first_elt = Some(elt); break; } - _ => {} } self.current_key = Some(key); if self.top_group != self.dropped_group { @@ -246,14 +245,13 @@ where None => None, Some(elt) => { let key = self.key.call_mut(&elt); - match self.current_key.take() { - Some(old_key) if old_key != key => { + if let Some(old_key) = self.current_key.take() { + if old_key != key { self.current_key = Some(key); self.current_elt = Some(elt); self.top_group += 1; return None; } - _ => {} } self.current_key = Some(key); Some(elt)