extend extract_variant to multiple variants

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2025-04-03 09:02:12 +00:00
parent bb8320a691
commit 58b8c7516a

View file

@ -49,10 +49,10 @@ pub fn exchange<T>(state: &mut T, source: T) -> T { std::mem::replace(state, sou
#[macro_export]
macro_rules! extract_variant {
($e:expr_2021, $variant:path) => {
( $e:expr_2021, $( $variant:path )|* ) => {
match $e {
| $variant(value) => Some(value),
| _ => None,
$( $variant(value) => Some(value), )*
_ => None,
}
};
}