diff --git a/src/libcore/num/wrapping.rs b/src/libcore/num/wrapping.rs index 637e99672ae..72f0d77f68b 100644 --- a/src/libcore/num/wrapping.rs +++ b/src/libcore/num/wrapping.rs @@ -140,6 +140,7 @@ macro_rules! sh_impl_all { sh_impl_all! { u8 u16 u32 u64 usize i8 i16 i32 i64 isize } +// FIXME(30524): impl Op for Wrapping, impl OpAssign for Wrapping macro_rules! wrapping_impl { ($($t:ty)*) => ($( #[stable(feature = "rust1", since = "1.0.0")] @@ -152,16 +153,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl Add<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn add(self, other: $t) -> Wrapping<$t> { - self + Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl AddAssign for Wrapping<$t> { #[inline(always)] @@ -170,14 +161,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl AddAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn add_assign(&mut self, other: $t) { - self.add_assign(Wrapping(other)) - } - } - #[stable(feature = "rust1", since = "1.0.0")] impl Sub for Wrapping<$t> { type Output = Wrapping<$t>; @@ -188,16 +171,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl Sub<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn sub(self, other: $t) -> Wrapping<$t> { - self - Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl SubAssign for Wrapping<$t> { #[inline(always)] @@ -206,14 +179,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl SubAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn sub_assign(&mut self, other: $t) { - self.sub_assign(Wrapping(other)) - } - } - #[stable(feature = "rust1", since = "1.0.0")] impl Mul for Wrapping<$t> { type Output = Wrapping<$t>; @@ -224,16 +189,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl Mul<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn mul(self, other: $t) -> Wrapping<$t> { - self * Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl MulAssign for Wrapping<$t> { #[inline(always)] @@ -242,14 +197,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl MulAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn mul_assign(&mut self, other: $t) { - self.mul_assign(Wrapping(other)) - } - } - #[stable(feature = "wrapping_div", since = "1.3.0")] impl Div for Wrapping<$t> { type Output = Wrapping<$t>; @@ -260,16 +207,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl Div<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn div(self, other: $t) -> Wrapping<$t> { - self / Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl DivAssign for Wrapping<$t> { #[inline(always)] @@ -278,14 +215,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl DivAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn div_assign(&mut self, other: $t) { - self.div_assign(Wrapping(other)) - } - } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] impl Rem for Wrapping<$t> { type Output = Wrapping<$t>; @@ -296,16 +225,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl Rem<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn rem(self, other: $t) -> Wrapping<$t> { - self % Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl RemAssign for Wrapping<$t> { #[inline(always)] @@ -314,14 +233,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl RemAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn rem_assign(&mut self, other: $t) { - self.rem_assign(Wrapping(other)) - } - } - #[stable(feature = "rust1", since = "1.0.0")] impl Not for Wrapping<$t> { type Output = Wrapping<$t>; @@ -342,16 +253,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitXor<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn bitxor(self, other: $t) -> Wrapping<$t> { - self ^ Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl BitXorAssign for Wrapping<$t> { #[inline(always)] @@ -360,14 +261,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitXorAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn bitxor_assign(&mut self, other: $t) { - self.bitxor_assign(Wrapping(other)) - } - } - #[stable(feature = "rust1", since = "1.0.0")] impl BitOr for Wrapping<$t> { type Output = Wrapping<$t>; @@ -378,16 +271,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitOr<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn bitor(self, other: $t) -> Wrapping<$t> { - self | Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl BitOrAssign for Wrapping<$t> { #[inline(always)] @@ -396,14 +279,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitOrAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn bitor_assign(&mut self, other: $t) { - self.bitor_assign(Wrapping(other)) - } - } - #[stable(feature = "rust1", since = "1.0.0")] impl BitAnd for Wrapping<$t> { type Output = Wrapping<$t>; @@ -414,16 +289,6 @@ macro_rules! wrapping_impl { } } - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitAnd<$t> for Wrapping<$t> { - type Output = Wrapping<$t>; - - #[inline(always)] - fn bitand(self, other: $t) -> Wrapping<$t> { - self & Wrapping(other) - } - } - #[unstable(feature = "op_assign_traits", reason = "recently added", issue = "28235")] impl BitAndAssign for Wrapping<$t> { #[inline(always)] @@ -431,14 +296,6 @@ macro_rules! wrapping_impl { *self = *self & other; } } - - #[unstable(feature = "wrapping_impls", reason = "recently added", issue = "30524")] - impl BitAndAssign<$t> for Wrapping<$t> { - #[inline(always)] - fn bitand_assign(&mut self, other: $t) { - self.bitand_assign(Wrapping(other)) - } - } )*) } diff --git a/src/test/run-pass/num-wrapping.rs b/src/test/run-pass/num-wrapping.rs index 98124f61751..228f4cdd1aa 100644 --- a/src/test/run-pass/num-wrapping.rs +++ b/src/test/run-pass/num-wrapping.rs @@ -36,7 +36,8 @@ fn test_ops() { macro_rules! op_test { ($op:ident ($lhs:expr, $rhs:expr) == $ans:expr) => { assert_eq!(black_box(Wrapping($lhs).$op(Wrapping($rhs))), Wrapping($ans)); - assert_eq!(black_box(Wrapping($lhs).$op($rhs)), Wrapping($ans)); + // FIXME(30524): uncomment this test when it's implemented + // assert_eq!(black_box(Wrapping($lhs).$op($rhs)), Wrapping($ans)); } } @@ -141,12 +142,15 @@ fn test_op_assigns() { tmp.$op(Wrapping($rhs)); assert_eq!(black_box(tmp), Wrapping($ans)); } + // FIXME(30524): Uncomment this test + /* { let mut tmp = Wrapping($initial); tmp = black_box(tmp); tmp.$op($rhs); assert_eq!(black_box(tmp), Wrapping($ans)); } + */ } } op_assign_test!(add_assign(i8::MAX, 1) == i8::MIN);