@@ -217,18 +217,6 @@ macro_rules! saturating_impl {
217
217
forward_ref_binop! { impl Add , add for Saturating <$t>, Saturating <$t>,
218
218
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
219
219
220
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
221
- impl Add <$t> for Saturating <$t> {
222
- type Output = Saturating <$t>;
223
-
224
- #[ inline]
225
- fn add( self , other: $t) -> Saturating <$t> {
226
- Saturating ( self . 0 . saturating_add( other) )
227
- }
228
- }
229
- forward_ref_binop! { impl Add , add for Saturating <$t>, $t,
230
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
231
-
232
220
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
233
221
impl AddAssign for Saturating <$t> {
234
222
#[ inline]
@@ -242,7 +230,7 @@ macro_rules! saturating_impl {
242
230
impl AddAssign <$t> for Saturating <$t> {
243
231
#[ inline]
244
232
fn add_assign( & mut self , other: $t) {
245
- * self = * self + other;
233
+ * self = * self + Saturating ( other) ;
246
234
}
247
235
}
248
236
forward_ref_op_assign! { impl AddAssign , add_assign for Saturating <$t>, $t }
@@ -259,18 +247,6 @@ macro_rules! saturating_impl {
259
247
forward_ref_binop! { impl Sub , sub for Saturating <$t>, Saturating <$t>,
260
248
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
261
249
262
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
263
- impl Sub <$t> for Saturating <$t> {
264
- type Output = Saturating <$t>;
265
-
266
- #[ inline]
267
- fn sub( self , other: $t) -> Saturating <$t> {
268
- Saturating ( self . 0 . saturating_sub( other) )
269
- }
270
- }
271
- forward_ref_binop! { impl Sub , sub for Saturating <$t>, $t,
272
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
273
-
274
250
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
275
251
impl SubAssign for Saturating <$t> {
276
252
#[ inline]
@@ -284,7 +260,7 @@ macro_rules! saturating_impl {
284
260
impl SubAssign <$t> for Saturating <$t> {
285
261
#[ inline]
286
262
fn sub_assign( & mut self , other: $t) {
287
- * self = * self - other;
263
+ * self = * self - Saturating ( other) ;
288
264
}
289
265
}
290
266
forward_ref_op_assign! { impl SubAssign , sub_assign for Saturating <$t>, $t }
@@ -301,18 +277,6 @@ macro_rules! saturating_impl {
301
277
forward_ref_binop! { impl Mul , mul for Saturating <$t>, Saturating <$t>,
302
278
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
303
279
304
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
305
- impl Mul <$t> for Saturating <$t> {
306
- type Output = Saturating <$t>;
307
-
308
- #[ inline]
309
- fn mul( self , other: $t) -> Saturating <$t> {
310
- Saturating ( self . 0 . saturating_mul( other) )
311
- }
312
- }
313
- forward_ref_binop! { impl Mul , mul for Saturating <$t>, $t,
314
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
315
-
316
280
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
317
281
impl MulAssign for Saturating <$t> {
318
282
#[ inline]
@@ -326,7 +290,7 @@ macro_rules! saturating_impl {
326
290
impl MulAssign <$t> for Saturating <$t> {
327
291
#[ inline]
328
292
fn mul_assign( & mut self , other: $t) {
329
- * self = * self * other;
293
+ * self = * self * Saturating ( other) ;
330
294
}
331
295
}
332
296
forward_ref_op_assign! { impl MulAssign , mul_assign for Saturating <$t>, $t }
@@ -362,36 +326,6 @@ macro_rules! saturating_impl {
362
326
forward_ref_binop! { impl Div , div for Saturating <$t>, Saturating <$t>,
363
327
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
364
328
365
- /// # Examples
366
- ///
367
- /// Basic usage:
368
- ///
369
- /// ```
370
- /// #![feature(saturating_int_impl, saturating_int_assign_impl)]
371
- /// use std::num::Saturating;
372
- ///
373
- #[ doc = concat!( "assert_eq!(Saturating(2" , stringify!( $t) , "), Saturating(5" , stringify!( $t) , ") / 2);" ) ]
374
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MAX), Saturating(" , stringify!( $t) , "::MAX) / 1);" ) ]
375
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MIN), Saturating(" , stringify!( $t) , "::MIN) / 1);" ) ]
376
- /// ```
377
- ///
378
- /// ```should_panic
379
- /// #![feature(saturating_int_impl, saturating_int_assign_impl)]
380
- /// use std::num::Saturating;
381
- ///
382
- #[ doc = concat!( "let _ = Saturating(0" , stringify!( $t) , ") / 0;" ) ]
383
- /// ```
384
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
385
- impl Div <$t> for Saturating <$t> {
386
- type Output = Saturating <$t>;
387
-
388
- #[ inline]
389
- fn div( self , other: $t) -> Saturating <$t> {
390
- Saturating ( self . 0 . saturating_div( other) )
391
- }
392
- }
393
- forward_ref_binop! { impl Div , div for Saturating <$t>, $t,
394
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
395
329
396
330
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
397
331
impl DivAssign for Saturating <$t> {
@@ -406,7 +340,7 @@ macro_rules! saturating_impl {
406
340
impl DivAssign <$t> for Saturating <$t> {
407
341
#[ inline]
408
342
fn div_assign( & mut self , other: $t) {
409
- * self = * self / other;
343
+ * self = * self / Saturating ( other) ;
410
344
}
411
345
}
412
346
forward_ref_op_assign! { impl DivAssign , div_assign for Saturating <$t>, $t }
@@ -423,18 +357,6 @@ macro_rules! saturating_impl {
423
357
forward_ref_binop! { impl Rem , rem for Saturating <$t>, Saturating <$t>,
424
358
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
425
359
426
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
427
- impl Rem <$t> for Saturating <$t> {
428
- type Output = Saturating <$t>;
429
-
430
- #[ inline]
431
- fn rem( self , other: $t) -> Saturating <$t> {
432
- Saturating ( self . 0 . rem( other) )
433
- }
434
- }
435
- forward_ref_binop! { impl Rem , rem for Saturating <$t>, $t,
436
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
437
-
438
360
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
439
361
impl RemAssign for Saturating <$t> {
440
362
#[ inline]
@@ -448,7 +370,7 @@ macro_rules! saturating_impl {
448
370
impl RemAssign <$t> for Saturating <$t> {
449
371
#[ inline]
450
372
fn rem_assign( & mut self , other: $t) {
451
- * self = * self % other;
373
+ * self = * self % Saturating ( other) ;
452
374
}
453
375
}
454
376
forward_ref_op_assign! { impl RemAssign , rem_assign for Saturating <$t>, $t }
@@ -477,18 +399,6 @@ macro_rules! saturating_impl {
477
399
forward_ref_binop! { impl BitXor , bitxor for Saturating <$t>, Saturating <$t>,
478
400
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
479
401
480
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
481
- impl BitXor <$t> for Saturating <$t> {
482
- type Output = Saturating <$t>;
483
-
484
- #[ inline]
485
- fn bitxor( self , other: $t) -> Saturating <$t> {
486
- Saturating ( self . 0 ^ other)
487
- }
488
- }
489
- forward_ref_binop! { impl BitXor , bitxor for Saturating <$t>, $t,
490
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
491
-
492
402
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
493
403
impl BitXorAssign for Saturating <$t> {
494
404
#[ inline]
@@ -502,7 +412,7 @@ macro_rules! saturating_impl {
502
412
impl BitXorAssign <$t> for Saturating <$t> {
503
413
#[ inline]
504
414
fn bitxor_assign( & mut self , other: $t) {
505
- * self = * self ^ other;
415
+ * self = * self ^ Saturating ( other) ;
506
416
}
507
417
}
508
418
forward_ref_op_assign! { impl BitXorAssign , bitxor_assign for Saturating <$t>, $t }
@@ -519,18 +429,6 @@ macro_rules! saturating_impl {
519
429
forward_ref_binop! { impl BitOr , bitor for Saturating <$t>, Saturating <$t>,
520
430
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
521
431
522
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
523
- impl BitOr <$t> for Saturating <$t> {
524
- type Output = Saturating <$t>;
525
-
526
- #[ inline]
527
- fn bitor( self , other: $t) -> Saturating <$t> {
528
- Saturating ( self . 0 | other)
529
- }
530
- }
531
- forward_ref_binop! { impl BitOr , bitor for Saturating <$t>, $t,
532
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
533
-
534
432
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
535
433
impl BitOrAssign for Saturating <$t> {
536
434
#[ inline]
@@ -544,7 +442,7 @@ macro_rules! saturating_impl {
544
442
impl BitOrAssign <$t> for Saturating <$t> {
545
443
#[ inline]
546
444
fn bitor_assign( & mut self , other: $t) {
547
- * self = * self | other;
445
+ * self = * self | Saturating ( other) ;
548
446
}
549
447
}
550
448
forward_ref_op_assign! { impl BitOrAssign , bitor_assign for Saturating <$t>, $t }
@@ -561,18 +459,6 @@ macro_rules! saturating_impl {
561
459
forward_ref_binop! { impl BitAnd , bitand for Saturating <$t>, Saturating <$t>,
562
460
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
563
461
564
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ]
565
- impl BitAnd <$t> for Saturating <$t> {
566
- type Output = Saturating <$t>;
567
-
568
- #[ inline]
569
- fn bitand( self , other: $t) -> Saturating <$t> {
570
- Saturating ( self . 0 & other)
571
- }
572
- }
573
- forward_ref_binop! { impl BitAnd , bitand for Saturating <$t>, $t,
574
- #[ unstable( feature = "saturating_int_assign_impl" , issue = "92354" ) ] }
575
-
576
462
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
577
463
impl BitAndAssign for Saturating <$t> {
578
464
#[ inline]
@@ -586,7 +472,7 @@ macro_rules! saturating_impl {
586
472
impl BitAndAssign <$t> for Saturating <$t> {
587
473
#[ inline]
588
474
fn bitand_assign( & mut self , other: $t) {
589
- * self = * self & other;
475
+ * self = * self & Saturating ( other) ;
590
476
}
591
477
}
592
478
forward_ref_op_assign! { impl BitAndAssign , bitand_assign for Saturating <$t>, $t }
0 commit comments