add is_err() to TryFuture extension

add fold_default to Future tools extension

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk committed 2024-12-08 07:12:23 +00:00
1 parent de3b137df8
commit 23cf2b2236
2 files changed
+31 -6

No files matched your search

+16
View File
@@ -32,6 +32,12 @@ where
fn counts_with_cap<const CAP: usize>(self) -> impl Future<Output = HashMap<Item, usize>> + Send
where
<Self as Stream>::Item: Eq + Hash;
fn fold_default<T, F, Fut>(self, f: F) -> impl Future<Output = T> + Send
where
F: Fn(T, Item) -> Fut + Send,
Fut: Future<Output = T> + Send,
T: Default + Send;
}
impl<Item, S> Tools<Item> for S
@@ -77,4 +83,14 @@ where
counts
})
}
#[inline]
fn fold_default<T, F, Fut>(self, f: F) -> impl Future<Output = T> + Send
where
F: Fn(T, Item) -> Fut + Send,
Fut: Future<Output = T> + Send,
T: Default + Send,
{
self.fold(T::default(), f)
}
}