inner::ok!
[−]
[src]
macro_rules! ok { ($x:expr, if $i:path, else |$e:ident| $b:block) => { ... }; ($x:expr, if $i:path, else $b:block) => { ... }; ($x:expr, if $i:path, or |$e:ident| $b:block) => { ... }; ($x:expr, if $i:path, or $b:block) => { ... }; ($x:expr, if $i:path) => { ... }; }
Converts your enum to an Result.
Examples
assert_eq!(ok!(Fruit::Apple(15), if Fruit::Apple), Ok(15)); assert_eq!(ok!(Fruit::Orange(5), if Fruit::Apple), Err(Fruit::Orange(5))); assert_eq!(ok!(Fruit::Orange(5), if Fruit::Apple, or {75}), Err(75)); assert_eq!(ok!(Fruit::Orange(5), if Fruit::Apple, else {Err(75)}), Err(75));