Added impls of `Signed` for `i128` and `u128`

This commit is contained in:
Vincent Esche 2018-04-09 11:11:21 +02:00
parent f69af180cc
commit d1334bf903
2 changed files with 16 additions and 1 deletions

View File

@ -93,8 +93,20 @@ fn wrapping_bounded() {
}
test_wrapping_bounded!(usize u8 u16 u32 u64 isize i8 i16 i32 i64);
}
#[cfg(feature = "i128")]
#[test]
fn wrapping_bounded_i128() {
macro_rules! test_wrapping_bounded {
($($t:ty)+) => {
$(
assert_eq!(Wrapping::<$t>::min_value().0, <$t>::min_value());
assert_eq!(Wrapping::<$t>::max_value().0, <$t>::max_value());
)+
};
}
#[cfg(feature = "i128")]
test_wrapping_bounded!(u128 i128);
}

View File

@ -74,6 +74,9 @@ macro_rules! signed_impl {
signed_impl!(isize i8 i16 i32 i64);
#[cfg(feature = "i128")]
signed_impl!(i128);
impl<T: Signed> Signed for Wrapping<T> where Wrapping<T>: Num + Neg<Output=Wrapping<T>>
{
#[inline]