@@ -36,6 +36,7 @@ macro_rules! sh_impl_signed {
3636 * self = * self << other;
3737 }
3838 }
39+ forward_ref_op_assign! { impl ShlAssign , shl_assign for Wrapping <$t>, $f }
3940
4041 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
4142 impl Shr <$f> for Wrapping <$t> {
@@ -58,6 +59,7 @@ macro_rules! sh_impl_signed {
5859 * self = * self >> other;
5960 }
6061 }
62+ forward_ref_op_assign! { impl ShrAssign , shr_assign for Wrapping <$t>, $f }
6163 )
6264}
6365
@@ -80,6 +82,7 @@ macro_rules! sh_impl_unsigned {
8082 * self = * self << other;
8183 }
8284 }
85+ forward_ref_op_assign! { impl ShlAssign , shl_assign for Wrapping <$t>, $f }
8386
8487 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
8588 impl Shr <$f> for Wrapping <$t> {
@@ -98,6 +101,7 @@ macro_rules! sh_impl_unsigned {
98101 * self = * self >> other;
99102 }
100103 }
104+ forward_ref_op_assign! { impl ShrAssign , shr_assign for Wrapping <$t>, $f }
101105 )
102106}
103107
@@ -142,6 +146,7 @@ macro_rules! wrapping_impl {
142146 * self = * self + other;
143147 }
144148 }
149+ forward_ref_op_assign! { impl AddAssign , add_assign for Wrapping <$t>, Wrapping <$t> }
145150
146151 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
147152 impl Sub for Wrapping <$t> {
@@ -162,6 +167,7 @@ macro_rules! wrapping_impl {
162167 * self = * self - other;
163168 }
164169 }
170+ forward_ref_op_assign! { impl SubAssign , sub_assign for Wrapping <$t>, Wrapping <$t> }
165171
166172 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
167173 impl Mul for Wrapping <$t> {
@@ -182,6 +188,7 @@ macro_rules! wrapping_impl {
182188 * self = * self * other;
183189 }
184190 }
191+ forward_ref_op_assign! { impl MulAssign , mul_assign for Wrapping <$t>, Wrapping <$t> }
185192
186193 #[ stable( feature = "wrapping_div" , since = "1.3.0" ) ]
187194 impl Div for Wrapping <$t> {
@@ -202,6 +209,7 @@ macro_rules! wrapping_impl {
202209 * self = * self / other;
203210 }
204211 }
212+ forward_ref_op_assign! { impl DivAssign , div_assign for Wrapping <$t>, Wrapping <$t> }
205213
206214 #[ stable( feature = "wrapping_impls" , since = "1.7.0" ) ]
207215 impl Rem for Wrapping <$t> {
@@ -222,6 +230,7 @@ macro_rules! wrapping_impl {
222230 * self = * self % other;
223231 }
224232 }
233+ forward_ref_op_assign! { impl RemAssign , rem_assign for Wrapping <$t>, Wrapping <$t> }
225234
226235 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
227236 impl Not for Wrapping <$t> {
@@ -254,6 +263,7 @@ macro_rules! wrapping_impl {
254263 * self = * self ^ other;
255264 }
256265 }
266+ forward_ref_op_assign! { impl BitXorAssign , bitxor_assign for Wrapping <$t>, Wrapping <$t> }
257267
258268 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
259269 impl BitOr for Wrapping <$t> {
@@ -274,6 +284,7 @@ macro_rules! wrapping_impl {
274284 * self = * self | other;
275285 }
276286 }
287+ forward_ref_op_assign! { impl BitOrAssign , bitor_assign for Wrapping <$t>, Wrapping <$t> }
277288
278289 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
279290 impl BitAnd for Wrapping <$t> {
@@ -294,6 +305,7 @@ macro_rules! wrapping_impl {
294305 * self = * self & other;
295306 }
296307 }
308+ forward_ref_op_assign! { impl BitAndAssign , bitand_assign for Wrapping <$t>, Wrapping <$t> }
297309
298310 #[ stable( feature = "wrapping_neg" , since = "1.10.0" ) ]
299311 impl Neg for Wrapping <$t> {
0 commit comments