numaxiom 0.0.2

Lightweight numeric marker traits for ranges/signs plus constants and ops; std by default, no_std optional.
Documentation
/// Marker trait for types that exclude zero from their domain.
/// Implementers must ensure zero is unrepresentable for the type.
pub trait NonZero {}

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

impl_non_zero_core!(
    core::num::NonZeroI8,
    core::num::NonZeroI16,
    core::num::NonZeroI32,
    core::num::NonZeroI64,
    core::num::NonZeroI128,
    core::num::NonZeroIsize,
    core::num::NonZeroU8,
    core::num::NonZeroU16,
    core::num::NonZeroU32,
    core::num::NonZeroU64,
    core::num::NonZeroU128,
    core::num::NonZeroUsize,
);