Impl {Add,Sub,Mul,Div,Rem,BitXor,BitOr,BitAnd}Assign<$t> for Wrapping<$t>
Analog to 1c0dc1810d
#92356
This commit is contained in:
parent
ecf72996ed
commit
9648b313cc
1 changed files with 80 additions and 0 deletions
|
@ -239,6 +239,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const AddAssign, add_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const AddAssign, add_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const AddAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn add_assign(&mut self, other: $t) {
|
||||||
|
*self = *self + Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const AddAssign, add_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Sub for Wrapping<$t> {
|
impl const Sub for Wrapping<$t> {
|
||||||
|
@ -262,6 +272,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const SubAssign, sub_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const SubAssign, sub_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const SubAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn sub_assign(&mut self, other: $t) {
|
||||||
|
*self = *self - Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const SubAssign, sub_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Mul for Wrapping<$t> {
|
impl const Mul for Wrapping<$t> {
|
||||||
|
@ -285,6 +305,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const MulAssign, mul_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const MulAssign, mul_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const MulAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn mul_assign(&mut self, other: $t) {
|
||||||
|
*self = *self * Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const MulAssign, mul_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "wrapping_div", since = "1.3.0")]
|
#[stable(feature = "wrapping_div", since = "1.3.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Div for Wrapping<$t> {
|
impl const Div for Wrapping<$t> {
|
||||||
|
@ -308,6 +338,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const DivAssign, div_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const DivAssign, div_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const DivAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn div_assign(&mut self, other: $t) {
|
||||||
|
*self = *self / Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const DivAssign, div_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "wrapping_impls", since = "1.7.0")]
|
#[stable(feature = "wrapping_impls", since = "1.7.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Rem for Wrapping<$t> {
|
impl const Rem for Wrapping<$t> {
|
||||||
|
@ -331,6 +371,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const RemAssign, rem_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const RemAssign, rem_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const RemAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn rem_assign(&mut self, other: $t) {
|
||||||
|
*self = *self % Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const RemAssign, rem_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Not for Wrapping<$t> {
|
impl const Not for Wrapping<$t> {
|
||||||
|
@ -367,6 +417,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const BitXorAssign, bitxor_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const BitXorAssign, bitxor_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const BitXorAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn bitxor_assign(&mut self, other: $t) {
|
||||||
|
*self = *self ^ Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const BitXorAssign, bitxor_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const BitOr for Wrapping<$t> {
|
impl const BitOr for Wrapping<$t> {
|
||||||
|
@ -390,6 +450,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const BitOrAssign, bitor_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const BitOrAssign, bitor_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const BitOrAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn bitor_assign(&mut self, other: $t) {
|
||||||
|
*self = *self | Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const BitOrAssign, bitor_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const BitAnd for Wrapping<$t> {
|
impl const BitAnd for Wrapping<$t> {
|
||||||
|
@ -413,6 +483,16 @@ macro_rules! wrapping_impl {
|
||||||
}
|
}
|
||||||
forward_ref_op_assign! { impl const BitAndAssign, bitand_assign for Wrapping<$t>, Wrapping<$t> }
|
forward_ref_op_assign! { impl const BitAndAssign, bitand_assign for Wrapping<$t>, Wrapping<$t> }
|
||||||
|
|
||||||
|
#[stable(feature = "wrapping_int_assign_impl", since = "1.61.0")]
|
||||||
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
|
impl const BitAndAssign<$t> for Wrapping<$t> {
|
||||||
|
#[inline]
|
||||||
|
fn bitand_assign(&mut self, other: $t) {
|
||||||
|
*self = *self & Wrapping(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
forward_ref_op_assign! { impl const BitAndAssign, bitand_assign for Wrapping<$t>, $t }
|
||||||
|
|
||||||
#[stable(feature = "wrapping_neg", since = "1.10.0")]
|
#[stable(feature = "wrapping_neg", since = "1.10.0")]
|
||||||
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
#[rustc_const_unstable(feature = "const_ops", issue = "90080")]
|
||||||
impl const Neg for Wrapping<$t> {
|
impl const Neg for Wrapping<$t> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue