#[macro_export]
macro_rules! some_or_return {
($expr:expr) => {{
if let Some(v) = $expr {
v
} else {
return;
}
}};
($expr:expr, $default:expr) => {{
if let Some(v) = $expr {
v
} else {
return $default;
}
}};
}
#[macro_export]
macro_rules! ok_or_return {
($expr:expr) => {{
if let Ok(v) = $expr {
v
} else {
return;
}
}};
($expr:expr, $default:expr) => {{
if let Ok(v) = $expr {
v
} else {
return $default;
}
}};
}
#[macro_export]
macro_rules! some_or_continue {
($expr:expr) => {{
if let Some(v) = $expr {
v
} else {
continue;
}
}};
($expr:expr, $lifetime:lifetime) => {{
if let Some(v) = $expr {
v
} else {
continue $lifetime;
}
}};
}
#[macro_export]
macro_rules! ok_or_continue {
($expr:expr) => {{
if let Ok(v) = $expr {
v
} else {
continue;
}
}};
($expr:expr, $lifetime:lifetime) => {{
if let Ok(v) = $expr {
v
} else {
continue $lifetime;
}
}};
}
#[macro_export]
macro_rules! some_or_break {
($expr:expr) => {{
if let Some(v) = $expr {
v
} else {
break;
}
}};
($expr:expr, $lifetime:lifetime) => {{
if let Some(v) = $expr {
v
} else {
break $lifetime;
}
}};
}
#[macro_export]
macro_rules! ok_or_break {
($expr:expr) => {{
if let Ok(v) = $expr {
v
} else {
break;
}
}};
($expr:expr, $lifetime:lifetime) => {{
if let Ok(v) = $expr {
v
} else {
break $lifetime;
}
}};
}