#[doc(hidden)] #[macro_export]
macro_rules! mir {
() => {};
(#[no_serde] $decl:item $($rest:tt)*) => {
#[derive(Debug, Clone, Hash, Eq, PartialEq)]
$decl
$crate::mir!($($rest)*);
};
($decl:item $($rest:tt)*) => {
#[derive(Debug, Clone, Hash, Eq, PartialEq)]
#[derive(::serde::Serialize)]
$decl
$crate::mir!($($rest)*);
}
}