Skip to content

Commit 1abaf11

Browse files
Unique::next: use find_map
1 parent b6584e3 commit 1abaf11

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/unique_impl.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,15 @@ where
105105
type Item = I::Item;
106106

107107
fn next(&mut self) -> Option<Self::Item> {
108-
while let Some(v) = self.iter.iter.next() {
109-
if let Entry::Vacant(entry) = self.iter.used.entry(v) {
108+
let UniqueBy { iter, used, .. } = &mut self.iter;
109+
iter.find_map(|v| {
110+
if let Entry::Vacant(entry) = used.entry(v) {
110111
let elt = entry.key().clone();
111112
entry.insert(());
112113
return Some(elt);
113114
}
114-
}
115-
None
115+
None
116+
})
116117
}
117118

118119
#[inline]

0 commit comments

Comments
 (0)