Pārlūkot izejas kodu

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

Vincent Esche 7 gadi atpakaļ
vecāks
revīzija
d1334bf903
2 mainītis faili ar 16 papildinājumiem un 1 dzēšanām
  1. 13 1
      src/bounds.rs
  2. 3 0
      src/sign.rs

+ 13 - 1
src/bounds.rs

@@ -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);
 }
 

+ 3 - 0
src/sign.rs

@@ -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]