numaxiom 0.0.2

Lightweight numeric marker traits for ranges/signs plus constants and ops; std by default, no_std optional.
Documentation
use super::HasZero;

/// Provides the additive identity (`0`) as a method.
pub trait Zero: HasZero {
    fn zero() -> Self;
}

macro_rules! impl_zero {
    ($($ty:ty),+ $(,)?) => {
        $(
            impl Zero for $ty {
                fn zero() -> Self {
                    0 as $ty
                }
            }

        )+
    };
}

impl_zero!(i8, i16, i32, i64, i128, isize);
impl_zero!(u8, u16, u32, u64, u128, usize);
impl_zero!(f32, f64);