1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#[macro_export] macro_rules! if_let_some { ($var:pat = $value:expr) => { let $var = if let Some(it) = $value { it } else { return; }; }; ($var:pat = $value:expr, $else_value:expr) => { #[allow(clippy::if_let_some_result)] let $var = if let Some(it) = $value { it } else { return $else_value; }; } } #[macro_export] macro_rules! if_let_ok { ($var:pat = $value:expr, $else_value:expr) => { let $var = match $value { Ok(it) => it, Err(err) => return $else_value(err), }; } }