pub const fn touch_type<T>() {}
#[macro_export]
#[doc(hidden)]
macro_rules! auto_nest_tuple {
() => { () };
($a:expr) => {
$a
};
($a:expr, $b:expr) => {
(
$a,
$b,
)
};
($a:expr, $b:expr, $c:expr) => {
(
$a,
$b,
$c,
)
};
($a:expr, $b:expr, $c:expr, $d:expr) => {
(
$a,
$b,
$c,
$d,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr) => {
(
$a,
$b,
$c,
$d,
$e,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr, $g:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr, $g:expr, $h:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
$h,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr, $g:expr, $h:expr, $i:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
$h,
$i,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr, $g:expr, $h:expr, $i:expr, $j:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
$h,
$i,
$j,
)
};
($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr, $g:expr, $h:expr, $i:expr, $j:expr, $k:expr) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
$h,
$i,
$j,
$k,
)
};
(
$a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $f:expr,
$g:expr, $h:expr, $i:expr, $j:expr, $k:expr, $($rest:expr),*
) => {
(
$a,
$b,
$c,
$d,
$e,
$f,
$g,
$h,
$i,
$j,
$k,
$crate::auto_nest_tuple!($($rest),*)
)
};
}
pub type PathResolveHelper<T> = T;