Rename OneConst, ZeroConst, to ConstOne, ConstZero

This commit is contained in:
Marc 2019-03-30 18:32:18 +13:00
parent b9c4311fea
commit 6190ecb861
2 changed files with 13 additions and 13 deletions

View File

@ -33,10 +33,10 @@ pub trait Zero: Sized + Add<Self, Output = Self> {
/// expressed as compile-time constants. /// expressed as compile-time constants.
/// ///
/// This is implemented for all primitive types, and should be implemented /// This is implemented for all primitive types, and should be implemented
/// wherever possible. Implementors must ensure that `ZeroConst::ZERO` is /// wherever possible. Implementors must ensure that `ConstZero::ZERO` is
/// the same value produced by [`Zero::zero()`](trait.Zero.html#tymethod.zero). /// the same value produced by [`Zero::zero()`](trait.Zero.html#tymethod.zero).
#[cfg(has_associated_consts)] #[cfg(has_associated_consts)]
pub trait ZeroConst: Zero { pub trait ConstZero: Zero {
/// Additive identity: see [`Zero::zero()`](trait.Zero.html#tymethod.zero). /// Additive identity: see [`Zero::zero()`](trait.Zero.html#tymethod.zero).
const ZERO: Self; const ZERO: Self;
} }
@ -60,7 +60,7 @@ macro_rules! zero_impl {
macro_rules! zero_const_impl { macro_rules! zero_const_impl {
($t:ty, $v:expr) => { ($t:ty, $v:expr) => {
zero_impl!($t, $v); zero_impl!($t, $v);
impl ZeroConst for $t { impl ConstZero for $t {
const ZERO: $t = $v; const ZERO: $t = $v;
} }
}; };
@ -107,7 +107,7 @@ where
} }
#[cfg(has_associated_consts)] #[cfg(has_associated_consts)]
impl<T: ZeroConst> ZeroConst for Wrapping<T> impl<T: ConstZero> ConstZero for Wrapping<T>
where where
Wrapping<T>: Zero, Wrapping<T>: Zero,
{ {
@ -156,10 +156,10 @@ pub trait One: Sized + Mul<Self, Output = Self> {
/// expressed as compile-time constants. /// expressed as compile-time constants.
/// ///
/// This is implemented for all primitive types, and should be implemented /// This is implemented for all primitive types, and should be implemented
/// wherever possible. Implementors must ensure that `OneConst::ONE` is /// wherever possible. Implementors must ensure that `ConstOne::ONE` is
/// the same value produced by [`One::one()`](trait.One.html#tymethod.one). /// the same value produced by [`One::one()`](trait.One.html#tymethod.one).
#[cfg(has_associated_consts)] #[cfg(has_associated_consts)]
pub trait OneConst: One { pub trait ConstOne: One {
/// Multiplicative identity: see [`One::one`](trait.One.html#tymethod.one). /// Multiplicative identity: see [`One::one`](trait.One.html#tymethod.one).
const ONE: Self; const ONE: Self;
} }
@ -183,7 +183,7 @@ macro_rules! one_impl {
macro_rules! one_const_impl { macro_rules! one_const_impl {
($t:ty, $v:expr) => { ($t:ty, $v:expr) => {
one_impl!($t, $v); one_impl!($t, $v);
impl OneConst for $t { impl ConstOne for $t {
const ONE: $t = $v; const ONE: $t = $v;
} }
}; };
@ -227,7 +227,7 @@ where
} }
#[cfg(has_associated_consts)] #[cfg(has_associated_consts)]
impl<T: OneConst> OneConst for Wrapping<T> impl<T: ConstOne> ConstOne for Wrapping<T>
where where
Wrapping<T>: One, Wrapping<T>: One,
{ {
@ -254,10 +254,10 @@ fn const_identies() {
macro_rules! test_zero_one { macro_rules! test_zero_one {
($zero:expr, $one:expr; $($t:ty),+) => { ($zero:expr, $one:expr; $($t:ty),+) => {
$( $(
assert_eq!(<$t as ZeroConst>::ZERO, $zero); assert_eq!(<$t as ConstZero>::ZERO, $zero);
assert_eq!(<$t as ZeroConst>::ZERO, <$t as Zero>::zero()); assert_eq!(<$t as ConstZero>::ZERO, <$t as Zero>::zero());
assert_eq!(<$t as OneConst>::ONE, $one); assert_eq!(<$t as ConstOne>::ONE, $one);
assert_eq!(<$t as OneConst>::ONE, <$t as One>::one()); assert_eq!(<$t as ConstOne>::ONE, <$t as One>::one());
)+ )+
} }
} }

View File

@ -33,7 +33,7 @@ pub use float::FloatConst;
pub use cast::{cast, AsPrimitive, FromPrimitive, NumCast, ToPrimitive}; pub use cast::{cast, AsPrimitive, FromPrimitive, NumCast, ToPrimitive};
pub use identities::{one, zero, One, Zero}; pub use identities::{one, zero, One, Zero};
#[cfg(has_associated_consts)] #[cfg(has_associated_consts)]
pub use identities::{OneConst, ZeroConst}; pub use identities::{ConstOne, ConstZero};
pub use int::PrimInt; pub use int::PrimInt;
pub use ops::checked::{ pub use ops::checked::{
CheckedAdd, CheckedDiv, CheckedMul, CheckedNeg, CheckedRem, CheckedShl, CheckedShr, CheckedSub, CheckedAdd, CheckedDiv, CheckedMul, CheckedNeg, CheckedRem, CheckedShl, CheckedShr, CheckedSub,