diff options
Diffstat (limited to 'src/result.rs')
| -rw-r--r-- | src/result.rs | 7 |
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` |
