sigma-types 0.2.2

Types checked for an invariant.
Documentation
//! Types equipped with an additive identity (i.e., zero).

/// Types equipped with an additive identity (i.e., zero).
pub trait Zero {
    /// Additive identity (i.e., zero).
    const ZERO: Self;
}

impl Zero for f32 {
    const ZERO: Self = 0.;
}

impl Zero for f64 {
    const ZERO: Self = 0.;
}

impl Zero for i128 {
    const ZERO: Self = 0;
}

impl Zero for i16 {
    const ZERO: Self = 0;
}

impl Zero for i32 {
    const ZERO: Self = 0;
}

impl Zero for i64 {
    const ZERO: Self = 0;
}

impl Zero for i8 {
    const ZERO: Self = 0;
}

impl Zero for isize {
    const ZERO: Self = 0;
}

impl Zero for u128 {
    const ZERO: Self = 0;
}

impl Zero for u16 {
    const ZERO: Self = 0;
}

impl Zero for u32 {
    const ZERO: Self = 0;
}

impl Zero for u64 {
    const ZERO: Self = 0;
}

impl Zero for u8 {
    const ZERO: Self = 0;
}

impl Zero for usize {
    const ZERO: Self = 0;
}