1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
macro_rules! m_num { ($($Tuple:ident { $($T:ident . $t:ident . $idx:tt),* } )*) => ($( impl<$($T),*> num::Zero for $Tuple<$($T),*> where $( $T: num::Zero ),* { #[inline(always)] fn zero() -> Self { $Tuple( $( $T::zero() ),* ) } #[inline(always)] fn is_zero(&self) -> bool { $( self.$idx.is_zero() )&&* } } )*) } use super::*; use num; impl_tuple!(m_num);