1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#[macro_export] macro_rules! iff { (let $pat:pat = $expr:expr, $($tt:tt)+) => { if let $pat = $expr { iff!($($tt)+) } }; (let $pat:pat = $expr:expr => $block:block) => { if let $pat = $expr { $block } }; ($expr:expr, $($tt:tt)+) => { if $expr { iff!($($tt)+) } }; ($expr:expr => $block:block) => { if $expr { $block } }; }