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 one.
/// Implementers must ensure one is representable.
pub trait HasOne {}

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

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