/// Marker trait for types that guarantee values strictly greater than zero.
/// Implementers must ensure all inhabited values are `> 0`.
pub trait Positive {}
macro_rules! impl_positive_for_nonzero_unsigned {
($($ty:ty),+ $(,)?) => {
$(impl Positive for $ty {})+
};
}
impl_positive_for_nonzero_unsigned!(
core::num::NonZeroU8,
core::num::NonZeroU16,
core::num::NonZeroU32,
core::num::NonZeroU64,
core::num::NonZeroU128,
core::num::NonZeroUsize,
);