#[doc(hidden)]
#[macro_export]
macro_rules! static_repo {
($vis:vis $ident:ident;) => {
::paste::paste! {
$vis static [<$ident:snake:upper>]: ::std::sync::LazyLock<$ident> = ::std::sync::LazyLock::new(|| {
$ident::new()
});
}
};
(!zst $vis:vis $ident:ident;) => {
::paste::paste! {
$vis static [<$ident:snake:upper>]: $ident = $ident::new();
}
};
}