@@ -266,6 +266,37 @@ macro_rules! saturating_impl {
266
266
}
267
267
forward_ref_op_assign! { impl MulAssign , mul_assign for Saturating <$t>, Saturating <$t> }
268
268
269
+ /// # Examples
270
+ ///
271
+ /// Basic usage:
272
+ ///
273
+ /// ```
274
+ /// #![feature(saturating_int_impl, saturating_div)]
275
+ /// use std::num::Saturating;
276
+ ///
277
+ #[ doc = concat!( "assert_eq!(Saturating(2" , stringify!( $t) , "), Saturating(5" , stringify!( $t) , ") / Saturating(2));" ) ]
278
+ #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MAX), Saturating(" , stringify!( $t) , "::MAX) / Saturating(1));" ) ]
279
+ #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MIN), Saturating(" , stringify!( $t) , "::MIN) / Saturating(1));" ) ]
280
+ /// ```
281
+ ///
282
+ /// ```should_panic
283
+ /// #![feature(saturating_int_impl, saturating_div)]
284
+ /// use std::num::Saturating;
285
+ ///
286
+ #[ doc = concat!( "let _ = Saturating(0" , stringify!( $t) , ") / Saturating(0);" ) ]
287
+ /// ```
288
+ #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
289
+ impl Div for Saturating <$t> {
290
+ type Output = Saturating <$t>;
291
+
292
+ #[ inline]
293
+ fn div( self , other: Saturating <$t>) -> Saturating <$t> {
294
+ Saturating ( self . 0 . saturating_div( other. 0 ) )
295
+ }
296
+ }
297
+ forward_ref_binop! { impl Div , div for Saturating <$t>, Saturating <$t>,
298
+ #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
299
+
269
300
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
270
301
impl DivAssign for Saturating <$t> {
271
302
#[ inline]
@@ -851,31 +882,6 @@ macro_rules! saturating_int_impl_signed {
851
882
}
852
883
forward_ref_unop! { impl Neg , neg for Saturating <$t>,
853
884
#[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
854
-
855
- /// # Examples
856
- ///
857
- /// Basic usage:
858
- ///
859
- /// ```
860
- /// #![feature(saturating_int_impl)]
861
- /// use std::num::Saturating;
862
- ///
863
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MIN + 1), Saturating(" , stringify!( $t) , "::MAX) / Saturating(-1));" ) ]
864
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MAX), Saturating(" , stringify!( $t) , "::MIN) / Saturating(-1));" ) ]
865
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MAX), Saturating(" , stringify!( $t) , "::MAX) / Saturating(1));" ) ]
866
- #[ doc = concat!( "assert_eq!(Saturating(" , stringify!( $t) , "::MIN), Saturating(" , stringify!( $t) , "::MIN) / Saturating(1));" ) ]
867
- /// ```
868
- #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
869
- impl Div for Saturating <$t> {
870
- type Output = Saturating <$t>;
871
-
872
- #[ inline]
873
- fn div( self , other: Saturating <$t>) -> Saturating <$t> {
874
- Saturating ( self . 0 . saturating_div( other. 0 ) )
875
- }
876
- }
877
- forward_ref_binop! { impl Div , div for Saturating <$t>, Saturating <$t>,
878
- #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
879
885
) * )
880
886
}
881
887
@@ -924,18 +930,6 @@ macro_rules! saturating_int_impl_unsigned {
924
930
}
925
931
926
932
}
927
-
928
- #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
929
- impl Div for Saturating <$t> {
930
- type Output = Saturating <$t>;
931
-
932
- #[ inline]
933
- fn div( self , other: Saturating <$t>) -> Saturating <$t> {
934
- Saturating ( self . 0 . div( other. 0 ) )
935
- }
936
- }
937
- forward_ref_binop! { impl Div , div for Saturating <$t>, Saturating <$t>,
938
- #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ] }
939
933
) * )
940
934
}
941
935
0 commit comments