1 2 3 4 5 6 7 8 9 10 11 12
macro_rules! m_num { ($($Tuple:ident { $($T:ident . $idx:tt),* } )*) => ($( impl<$($T),*> num::Zero for $Tuple<$($T),*> where $( $T: num::Zero ),* { fn zero() -> Self { $Tuple( $( $T::zero() ),* ) } fn is_zero(&self) -> bool { $( self.$idx.is_zero() )&&* } } )*) }