iff 0.1.0

A macro for if / if let chains until [RFC 2497] is implemented.
Documentation
use iff::iff;

macro_rules! t {
    ( $( [ $($tt:tt)+ ] => $expr:expr, )+ ) => {
        $(
            let mut ok = false;
            iff!($($tt)+ => { ok = true });
            assert!(ok == $expr);
        )+
    }
}

#[test]
fn t() {
    t! {
        [1 == 1] => true,
        [1 == 1, 2 == 2] => true,
        [1 == 2] => false,
        [let Some(_) = Some(10)] => true,
        [let Some(x) = Some(10), x == 10] => true,
        [let Some(x) = Some(10), x > 10] => false,
        [let Some(x) = Some(10), x < 10] => false,
        [let Some(x) = Some(Some(10)), let Some(y) = x, y == 10] => true,
        [let Some(x) = Some(Some(10)), let Some(y) = x, y > 10] => false,
        [let Some(x) = Some(Some(None::<i32>)), let Some(y) = x, let None = y] => true,
        [let Some(x) = Some(Some(None::<i32>)), let Some(y) = x, let Some(_) = y] => false,
    }
}