pub trait OptionExt {
    type Item;

    fn into_try_map<U, E, F: FnOnce(Self::Item) -> Result<U, E>>(
        self,
        f: F
    ) -> Result<Option<U>, E>; fn try_map<U, E, F: FnOnce(&Self::Item) -> Result<U, E>>(
        self,
        f: F
    ) -> Result<Option<U>, E>; }
Expand description

Extension traits on Option where it holds any value or ref.

Required Associated Types

Required Methods

Like map, but as a Result

use gazebo::prelude::*;

assert_eq!(Some("foo").into_try_map(|x| Ok::<_, ()>(x.len())), Ok(Some(3)));
assert_eq!(Some("foo").into_try_map(|x| Err::<(), _>(())), Err(()));

Like map, but as a Result

use gazebo::prelude::*;

assert_eq!(Some("foo").try_map(|x| Ok::<_, ()>(x.len())), Ok(Some(3)));
assert_eq!(Some("foo").try_map(|x| Err::<(), _>(())), Err(()));

Implementations on Foreign Types

Implementors