1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#[macro_export] macro_rules! def_measure{ ( $( $vis:vis $alias:ident = $type:ty , )+ ) => { $( $crate::def_measure!($vis $alias = $type ); )+ }; ( $vis:vis $alias:ident<$num:ty> = $type:ty ) => { $vis type $alias = $crate::measure::Measure<$num, $type>; }; ( $vis:vis $alias:ident = $type:ty ) => { $vis type $alias<N> = $crate::measure::Measure<N, $type>; }; }