|
@@ -438,28 +438,30 @@ macro_rules! impl_try_from_map {
|
|
|
// rather than the repeated idents used later because the macro language does not allow one
|
|
|
// repetition to be pasted inside another.
|
|
|
($ty_param:tt {
|
|
|
- $($ty:ident $(from $($variant:ident)|+)?),+ $(,)?
|
|
|
+ $($(#[$meta:meta])* $ty:ident $(from $($variant:ident)|+)?),+ $(,)?
|
|
|
}) => {
|
|
|
- $(impl_try_from_map!(<$ty_param> $ty $(from $($variant)|+)?);)+
|
|
|
+ $(impl_try_from_map!($(#[$meta])* <$ty_param> $ty $(from $($variant)|+)?);)+
|
|
|
};
|
|
|
// Add the "from $variant" using $ty as the default if it is missing.
|
|
|
- (<$ty_param:tt> $ty:ident) => {
|
|
|
- impl_try_from_map!(<$ty_param> $ty from $ty);
|
|
|
+ ($(#[$meta:meta])* <$ty_param:tt> $ty:ident) => {
|
|
|
+ impl_try_from_map!($(#[$meta])* <$ty_param> $ty from $ty);
|
|
|
};
|
|
|
// Dispatch for each of the lifetimes.
|
|
|
(
|
|
|
- <($($ty_param:ident),*)> $ty:ident from $($variant:ident)|+
|
|
|
+ $(#[$meta:meta])* <($($ty_param:ident),*)> $ty:ident from $($variant:ident)|+
|
|
|
) => {
|
|
|
- impl_try_from_map!(<'a> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
- impl_try_from_map!(<'a mut> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
- impl_try_from_map!(<> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
+ impl_try_from_map!($(#[$meta])* <'a> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
+ impl_try_from_map!($(#[$meta])* <'a mut> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
+ impl_try_from_map!($(#[$meta])* <> ($($ty_param),*) $ty from $($variant)|+);
|
|
|
};
|
|
|
// An individual impl.
|
|
|
(
|
|
|
+ $(#[$meta:meta])*
|
|
|
<$($l:lifetime $($m:ident)?)?>
|
|
|
($($ty_param:ident),*)
|
|
|
$ty:ident from $($variant:ident)|+
|
|
|
) => {
|
|
|
+ $(#[$meta])*
|
|
|
impl<$($l,)? $($ty_param: Pod),*> TryFrom<$(&$l $($m)?)? Map>
|
|
|
for $ty<$(&$l $($m)?)? MapData, $($ty_param),*>
|
|
|
{
|
|
@@ -487,11 +489,8 @@ impl_try_from_map!(() {
|
|
|
SockMap,
|
|
|
StackTraceMap,
|
|
|
XskMap,
|
|
|
-});
|
|
|
-
|
|
|
-#[cfg(any(feature = "async_tokio", feature = "async_std"))]
|
|
|
-#[cfg_attr(docsrs, doc(cfg(any(feature = "async_tokio", feature = "async_std"))))]
|
|
|
-impl_try_from_map!(() {
|
|
|
+ #[cfg(any(feature = "async_tokio", feature = "async_std"))]
|
|
|
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "async_tokio", feature = "async_std"))))]
|
|
|
AsyncPerfEventArray from PerfEventArray,
|
|
|
});
|
|
|
|