A lot of stuff I'm not gonna enumerate
rule fundamentals
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
mod cache;
|
||||
mod substack;
|
||||
mod result_iter_collect;
|
||||
pub use cache::Cache;
|
||||
pub use substack::Substack;
|
||||
pub use result_iter_collect::result_iter_collect;
|
||||
|
||||
pub type BoxedIter<'a, T> = Box<dyn Iterator<Item = T> + 'a>;
|
||||
@@ -1,19 +0,0 @@
|
||||
pub fn result_iter_collect<T, E>(i: &mut dyn Iterator<Item = Result<T, E>>)
|
||||
-> (Vec<Option<T>>, Vec<Option<E>>) {
|
||||
i.fold((Vec::new(), Vec::new()), |(mut succ, mut err), mut next| {
|
||||
match next {
|
||||
Ok(res) => succ.push(Some(res)),
|
||||
Err(e) => err.push(Some(e))
|
||||
}
|
||||
(succ, err)
|
||||
})
|
||||
}
|
||||
|
||||
pub fn recoverable_iter_collect<T, E>(i: &mut dyn Iterator<Item=(Option<T>, Vec<E>)>)
|
||||
-> (Vec<Option<T>>, Vec<E>) {
|
||||
i.fold((Vec::new(), Vec::new()), |(mut succ, mut err), (res, mut errv)| {
|
||||
succ.push(res);
|
||||
err.append(&mut errv);
|
||||
(succ, err)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user