summaryrefslogtreecommitdiff
path: root/src/result.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/result.rs')
-rw-r--r--src/result.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/result.rs b/src/result.rs
index 7afceed..25392c8 100644
--- a/src/result.rs
+++ b/src/result.rs
@@ -6,6 +6,7 @@ use crate::{unexpected::Errorable, RawUnexpected};
mod sealed {
pub trait Sealed {}
impl<T, E> Sealed for Result<T, E> {}
+ impl<T> Sealed for Option<T> {}
}
use sealed::Sealed;
@@ -71,6 +72,12 @@ impl<T> ResultErrorExt<T> for Result<T, RawUnexpected> {
}
}
+impl<T> ResultErrorExt<T> for Option<T> {
+ fn unexpect(self) -> Result<T, RawUnexpected> {
+ self.ok_or_else(RawUnexpected::none)
+ }
+}
+
/// Provides [`Result::unexpect_msg`]
///
/// [`Result::unexpect_msg`]: `ResultMsgExt::unexpect_msg`