Macro titanic::try_some[][src]

macro_rules! try_some {
    ($expr:expr) => { ... };
}

Like the try! macro, but only works on Result<Option<_>, _> and returns Some(Err(err)) instead of Err(err).

This example is not tested
assert_eq!(try_some!(Ok(Some(1))), Some(1));
assert_eq!(try_some!(Ok(None)), None);
try_some!(Err("some error")) // returns Some(Err("some error"))