Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/test-utils/src/minicore.rs')
-rw-r--r--crates/test-utils/src/minicore.rs24
1 files changed, 23 insertions, 1 deletions
diff --git a/crates/test-utils/src/minicore.rs b/crates/test-utils/src/minicore.rs
index 7d95043867..c34475bbdf 100644
--- a/crates/test-utils/src/minicore.rs
+++ b/crates/test-utils/src/minicore.rs
@@ -1689,6 +1689,21 @@ pub mod iter {
}
}
+ pub struct Filter<I, P> {
+ iter: I,
+ predicate: P,
+ }
+ impl<I: Iterator, P> Iterator for Filter<I, P>
+ where
+ P: FnMut(&I::Item) -> bool,
+ {
+ type Item = I::Item;
+
+ fn next(&mut self) -> Option<I::Item> {
+ loop {}
+ }
+ }
+
pub struct FilterMap<I, F> {
iter: I,
f: F,
@@ -1705,7 +1720,7 @@ pub mod iter {
}
}
}
- pub use self::adapters::{FilterMap, Take};
+ pub use self::adapters::{Filter, FilterMap, Take};
mod sources {
mod repeat {
@@ -1756,6 +1771,13 @@ pub mod iter {
{
loop {}
}
+ fn filter<P>(self, predicate: P) -> crate::iter::Filter<Self, P>
+ where
+ Self: Sized,
+ P: FnMut(&Self::Item) -> bool,
+ {
+ loop {}
+ }
fn filter_map<B, F>(self, _f: F) -> crate::iter::FilterMap<Self, F>
where
Self: Sized,