aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/de.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/de.rs b/src/de.rs
index 27462e8..ae44f20 100644
--- a/src/de.rs
+++ b/src/de.rs
@@ -432,8 +432,7 @@ impl<'de, 'b> de::MapAccess<'de> for MapVisitor<'de, 'b> {
}
entries[start..]
.iter()
- .copied()
- .filter(|i| *i < self.max)
+ .filter_map(|i| if *i < self.max { Some(*i) } else { None })
.map(|i| (i, &self.tables[i]))
.find(|(_, table)| table.values.is_some())
.map(|p| p.0)
@@ -572,8 +571,7 @@ impl<'de, 'b> de::SeqAccess<'de> for MapVisitor<'de, 'b> {
}
entries[start..]
.iter()
- .copied()
- .filter(|i| *i < self.max)
+ .filter_map(|i| if *i < self.max { Some(*i) } else { None })
.map(|i| (i, &self.tables[i]))
.find(|(_, table)| table.array)
.map(|p| p.0)