/// A trait for types that have a unit value.
////// E.g. 1 for integers, 1.0 for floats, etc.
pubtraitUnit{fnunit()->Self;}/// Implement One for common numeric types.
macro_rules!impl_one_for_numeric{($($t:ty)*)=>($(implUnit for$t{fnunit()->Self{1}})*)}impl_one_for_numeric!(usizeu8u16u32u64isizei8i16i32i64);/// Implement One for common float types.
macro_rules!impl_one_for_floats{($($t:ty)*)=>($(implUnit for$t{fnunit()->Self{1.0}})*)}impl_one_for_floats!(f32f64);