mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-11-15 21:26:50 +00:00
Add is_err_or to Result utils.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
1 parent
b714f24029
commit
a39ef994d2
2 files changed
+19
No files matched your search
@@ -4,6 +4,7 @@ mod filter;
|
||||
mod flat_ok;
|
||||
mod inspect_log;
|
||||
mod into_is_ok;
|
||||
mod is_err_or;
|
||||
mod log_debug_err;
|
||||
mod log_err;
|
||||
mod map_expect;
|
||||
@@ -19,6 +20,7 @@ pub use self::{
|
||||
flat_ok::FlatOk,
|
||||
inspect_log::{ErrDebugLog, ErrLog},
|
||||
into_is_ok::IntoIsOk,
|
||||
is_err_or::IsErrOr,
|
||||
log_debug_err::LogDebugErr,
|
||||
log_err::LogErr,
|
||||
map_expect::MapExpect,
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#![allow(clippy::wrong_self_convention)]
|
||||
|
||||
use super::Result;
|
||||
|
||||
pub trait IsErrOr<T> {
|
||||
fn is_err_or<F: FnOnce(T) -> bool>(self, f: F) -> bool;
|
||||
}
|
||||
|
||||
impl<T, E> IsErrOr<T> for Result<T, E> {
|
||||
#[inline]
|
||||
fn is_err_or<F>(self, f: F) -> bool
|
||||
where
|
||||
F: FnOnce(T) -> bool,
|
||||
{
|
||||
if let Ok(t) = self { f(t) } else { true }
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user