[][src]Macro bail_out::assure_or

macro_rules! assure_or {
    ($cond:expr, $ok: expr, $error:expr) => { ... };
}

Ensures the condition is met or returns the value. This evaluates to a Result<VALUE, ERROR> This macro is equivalent to if !cond { Err(error) } else { Ok(value) }. Example:

use bail_out::*;
fn test_err() -> Result<&'static str, &'static str> {
   assure_or!(false, "ok", "error")
}
assert_eq!(test_err(), Err("error"));

fn test_ok() -> Result<&'static str, &'static str> {
   assure_or!(true, "ok", "error")
}
assert_eq!(test_ok(), Ok("ok"));