Skip to main content

FlatOk

Trait FlatOk 

Source
pub trait FlatOk<T> {
    // Required methods
    fn flat_ok(self) -> Option<T>;
    fn flat_ok_or<E>(self, err: E) -> Result<T, E>;
    fn flat_ok_or_else<E, F: FnOnce() -> E>(self, err: F) -> Result<T, E>;
}

Required Methods§

Source

fn flat_ok(self) -> Option<T>

Equivalent to .transpose().ok().flatten()

Source

fn flat_ok_or<E>(self, err: E) -> Result<T, E>

Equivalent to .transpose().ok().flatten().ok_or(…)

Source

fn flat_ok_or_else<E, F: FnOnce() -> E>(self, err: F) -> Result<T, E>

Equivalent to .transpose().ok().flatten().ok_or_else(…)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T, E> FlatOk<T> for Option<Result<T, E>>

Source§

fn flat_ok(self) -> Option<T>

Source§

fn flat_ok_or<Ep>(self, err: Ep) -> Result<T, Ep>

Source§

fn flat_ok_or_else<Ep, F: FnOnce() -> Ep>(self, err: F) -> Result<T, Ep>

Implementors§

Source§

impl<T, E> FlatOk<T> for Result<Option<T>, E>