numaxiom 0.0.2

Lightweight numeric marker traits for ranges/signs plus constants and ops; std by default, no_std optional.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
/// Marker for types that can represent zero.
/// Implementers must ensure zero is representable.
pub trait HasZero {}

macro_rules! impl_has_zero_for_primitive {
    ($($ty:ty),+ $(,)?) => {
        $(impl HasZero for $ty {})+
    };
}

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