From f136eea97c8a1aff9814c4ec2779884bd870feed Mon Sep 17 00:00:00 2001 From: Michael Watzko Date: Thu, 12 Aug 2021 13:43:20 +0200 Subject: [PATCH] Implement Neg only for signed Saturating types --- library/core/src/num/saturating.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/library/core/src/num/saturating.rs b/library/core/src/num/saturating.rs index b0a172c72d0b..3bb668d9340b 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")] } )*) }