summaryrefslogtreecommitdiff
path: root/src/regex_set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/regex_set.rs')
-rw-r--r--src/regex_set.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/regex_set.rs b/src/regex_set.rs
index 3e77e064..a0b34bb6 100644
--- a/src/regex_set.rs
+++ b/src/regex_set.rs
@@ -32,15 +32,16 @@ impl RegexSet {
&self.items[..]
}
- /// Returns regexes in the set which didn't match any strings yet
- pub fn unmatched_items(&self) -> Vec<String> {
- let mut items = vec![];
- for (i, item) in self.items.iter().enumerate() {
- if !self.matched[i].get() {
- items.push(item.clone());
+ /// Returns an iterator over regexes in the set which didn't match any
+ /// strings yet.
+ pub fn unmatched_items(&self) -> impl Iterator<Item = &String> {
+ self.items.iter().enumerate().filter_map(move |(i, item)| {
+ if self.matched[i].get() {
+ return None;
}
- }
- items
+
+ Some(item)
+ })
}
/// Construct a RegexSet from the set of entries we've accumulated.