@@ -266,6 +266,37 @@ macro_rules! saturating_impl {
266266 }
267267 forward_ref_op_assign! { impl MulAssign , mul_assign for Saturating <$t>, Saturating <$t> }
268268
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+
269300 #[ unstable( feature = "saturating_int_impl" , issue = "87920" ) ]
270301 impl DivAssign for Saturating <$t> {
271302 #[ inline]
@@ -851,31 +882,6 @@ macro_rules! saturating_int_impl_signed {
851882 }
852883 forward_ref_unop! { impl Neg , neg for Saturating <$t>,
853884 #[ 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" ) ] }
879885 ) * )
880886}
881887
@@ -924,18 +930,6 @@ macro_rules! saturating_int_impl_unsigned {
924930 }
925931
926932 }
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" ) ] }
939933 ) * )
940934}
941935
0 commit comments