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_export]
macro_rules! extract_variant { macro_rules! extract_variant {
($e:expr_2021, $variant:path) => { ( $e:expr_2021, $( $variant:path )|* ) => {
match $e { match $e {
| $variant(value) => Some(value), $( $variant(value) => Some(value), )*
| _ => None, _ => None,
} }
}; };
} }