pub trait OptionExt {
type Some;
// Required methods
fn ok_or_raise<A, F>(self, err: F) -> Result<Self::Some>
where A: Error + Send + Sync + 'static,
F: FnOnce() -> A;
fn ok_or_raise_typed<A, F>(self, err: F) -> ExnResult<Self::Some, A>
where A: Error + Send + Sync + 'static,
F: FnOnce() -> A;
fn ok_or_raise_erased<A, F>(self, err: F) -> ExnResult<Self::Some>
where A: Error + Send + Sync + 'static,
F: FnOnce() -> A;
}Expand description
Raise errors lazily on Option::None.
Required Associated Types§
Required Methods§
Sourcefn ok_or_raise<A, F>(self, err: F) -> Result<Self::Some>
fn ok_or_raise<A, F>(self, err: F) -> Result<Self::Some>
Sourcefn ok_or_raise_typed<A, F>(self, err: F) -> ExnResult<Self::Some, A>
fn ok_or_raise_typed<A, F>(self, err: F) -> ExnResult<Self::Some, A>
Construct a typed Exn on the None variant.
Sourcefn ok_or_raise_erased<A, F>(self, err: F) -> ExnResult<Self::Some>
fn ok_or_raise_erased<A, F>(self, err: F) -> ExnResult<Self::Some>
Construct a new Exn on the None variant, with type erasure.
The generated error is raised with ErrorExt::raise_erased.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".