diff options
| -rw-r--r-- | src/lib.rs | 9 | ||||
| -rw-r--r-- | src/result.rs | 4 |
2 files changed, 9 insertions, 4 deletions
@@ -142,18 +142,19 @@ extern crate alloc; mod exun; -#[cfg(feature = "alloc")] mod result; -#[cfg(feature = "alloc")] mod unexpected; -pub use crate::exun::Exun; #[cfg(feature = "std")] pub use result::ResultErrorExt; + #[cfg(feature = "alloc")] -pub use result::{ResultExunExt, ResultMsgExt}; +pub use result::ResultMsgExt; #[cfg(feature = "alloc")] pub use unexpected::{RawUnexpected, UnexpectedError}; + +pub use crate::exun::Exun; +pub use result::ResultExunExt; pub use Exun::{Expected, Unexpected}; /// A type alias for [`Exun<E, RawUnexpected>`] diff --git a/src/result.rs b/src/result.rs index d876a0c..344de5b 100644 --- a/src/result.rs +++ b/src/result.rs @@ -66,12 +66,14 @@ impl<T, E: Error + Send + Sync + 'static> ResultErrorExt<T> for Result<T, E> { } } +#[cfg(feature = "alloc")] impl<T> ResultErrorExt<T> for Result<T, RawUnexpected> { fn unexpect(self) -> Self { self } } +#[cfg(feature = "alloc")] impl<T> ResultErrorExt<T> for Option<T> { fn unexpect(self) -> Result<T, RawUnexpected> { self.ok_or_else(RawUnexpected::none) @@ -81,6 +83,7 @@ impl<T> ResultErrorExt<T> for Option<T> { /// Provides [`Result::unexpect_msg`] /// /// [`Result::unexpect_msg`]: `ResultMsgExt::unexpect_msg` +#[cfg(feature = "alloc")] pub trait ResultMsgExt<T>: Sealed { /// Converts [`Result<T, E>`] to [`Result<T, RawUnexpected>`]. /// @@ -123,6 +126,7 @@ pub trait ResultMsgExt<T>: Sealed { fn unexpect_msg(self) -> Result<T, RawUnexpected>; } +#[cfg(feature = "alloc")] impl<T, E: Errorable + 'static> ResultMsgExt<T> for Result<T, E> { fn unexpect_msg(self) -> Result<T, RawUnexpected> { self.map_err(RawUnexpected::msg) |
