about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--library/core/src/num/saturating.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/library/core/src/num/saturating.rs b/library/core/src/num/saturating.rs
index b0a172c72d0..3bb668d9340 100644
--- a/library/core/src/num/saturating.rs
+++ b/library/core/src/num/saturating.rs
@@ -384,17 +384,6 @@ macro_rules! saturating_impl {
         }
         forward_ref_op_assign! { impl BitAndAssign, bitand_assign for Saturating<$t>, Saturating<$t> }
 
-        #[unstable(feature = "saturating_int_impl", issue = "87920")]
-        impl Neg for Saturating<$t> {
-            type Output = Self;
-            #[inline]
-            fn neg(self) -> Self {
-                Saturating(0) - self
-            }
-        }
-        forward_ref_unop! { impl Neg, neg for Saturating<$t>,
-                #[unstable(feature = "saturating_int_impl", issue = "87920")] }
-
     )*)
 }
 
@@ -864,6 +853,17 @@ macro_rules! saturating_int_impl_signed {
                 self.0.is_negative()
             }
         }
+
+        #[unstable(feature = "saturating_int_impl", issue = "87920")]
+        impl Neg for Saturating<$t> {
+            type Output = Self;
+            #[inline]
+            fn neg(self) -> Self {
+                Saturating(self.0.saturating_neg())
+            }
+        }
+        forward_ref_unop! { impl Neg, neg for Saturating<$t>,
+                #[unstable(feature = "saturating_int_impl", issue = "87920")] }
     )*)
 }