@@ -2567,8 +2567,8 @@ mod impl_schemars {
25672567#[ cfg( feature = "rand" ) ]
25682568mod impl_rand {
25692569 use super :: { NotNan , OrderedFloat } ;
2570- use rand:: distributions :: uniform:: * ;
2571- use rand:: distributions :: { Distribution , Open01 , OpenClosed01 , Standard } ;
2570+ use rand:: distr :: uniform:: * ;
2571+ use rand:: distr :: { Distribution , Open01 , OpenClosed01 , StandardUniform } ;
25722572 use rand:: Rng ;
25732573
25742574 macro_rules! impl_distribution {
@@ -2592,7 +2592,7 @@ mod impl_rand {
25922592 }
25932593 }
25942594
2595- impl_distribution ! { Standard , f32 , f64 }
2595+ impl_distribution ! { StandardUniform , f32 , f64 }
25962596 impl_distribution ! { Open01 , f32 , f64 }
25972597 impl_distribution ! { OpenClosed01 , f32 , f64 }
25982598
@@ -2638,14 +2638,14 @@ mod impl_rand {
26382638 ( $f: ty) => {
26392639 impl UniformSampler for UniformNotNan <$f> {
26402640 type X = NotNan <$f>;
2641- fn new<B1 , B2 >( low: B1 , high: B2 ) -> Self
2641+ fn new<B1 , B2 >( low: B1 , high: B2 ) -> Result < Self , Error >
26422642 where
26432643 B1 : SampleBorrow <Self :: X > + Sized ,
26442644 B2 : SampleBorrow <Self :: X > + Sized ,
26452645 {
2646- UniformNotNan ( UniformFloat :: <$f>:: new( low. borrow( ) . 0 , high. borrow( ) . 0 ) )
2646+ Ok ( UniformNotNan ( UniformFloat :: <$f>:: new( low. borrow( ) . 0 , high. borrow( ) . 0 ) ? ) )
26472647 }
2648- fn new_inclusive<B1 , B2 >( low: B1 , high: B2 ) -> Self
2648+ fn new_inclusive<B1 , B2 >( low: B1 , high: B2 ) -> Result < Self , Error >
26492649 where
26502650 B1 : SampleBorrow <Self :: X > + Sized ,
26512651 B2 : SampleBorrow <Self :: X > + Sized ,
@@ -2660,14 +2660,14 @@ mod impl_rand {
26602660
26612661 impl UniformSampler for UniformOrdered <$f> {
26622662 type X = OrderedFloat <$f>;
2663- fn new<B1 , B2 >( low: B1 , high: B2 ) -> Self
2663+ fn new<B1 , B2 >( low: B1 , high: B2 ) -> Result < Self , Error >
26642664 where
26652665 B1 : SampleBorrow <Self :: X > + Sized ,
26662666 B2 : SampleBorrow <Self :: X > + Sized ,
26672667 {
2668- UniformOrdered ( UniformFloat :: <$f>:: new( low. borrow( ) . 0 , high. borrow( ) . 0 ) )
2668+ Ok ( UniformOrdered ( UniformFloat :: <$f>:: new( low. borrow( ) . 0 , high. borrow( ) . 0 ) ? ) )
26692669 }
2670- fn new_inclusive<B1 , B2 >( low: B1 , high: B2 ) -> Self
2670+ fn new_inclusive<B1 , B2 >( low: B1 , high: B2 ) -> Result < Self , Error >
26712671 where
26722672 B1 : SampleBorrow <Self :: X > + Sized ,
26732673 B2 : SampleBorrow <Self :: X > + Sized ,
@@ -2690,19 +2690,19 @@ mod impl_rand {
26902690
26912691 fn sample_fuzz < T > ( )
26922692 where
2693- Standard : Distribution < NotNan < T > > ,
2693+ StandardUniform : Distribution < NotNan < T > > ,
26942694 Open01 : Distribution < NotNan < T > > ,
26952695 OpenClosed01 : Distribution < NotNan < T > > ,
2696- Standard : Distribution < OrderedFloat < T > > ,
2696+ StandardUniform : Distribution < OrderedFloat < T > > ,
26972697 Open01 : Distribution < OrderedFloat < T > > ,
26982698 OpenClosed01 : Distribution < OrderedFloat < T > > ,
26992699 T : crate :: Float ,
27002700 {
2701- let mut rng = rand:: thread_rng ( ) ;
2702- let f1: NotNan < T > = rng. sample ( Standard ) ;
2701+ let mut rng = rand:: rng ( ) ;
2702+ let f1: NotNan < T > = rng. sample ( StandardUniform ) ;
27032703 let f2: NotNan < T > = rng. sample ( Open01 ) ;
27042704 let f3: NotNan < T > = rng. sample ( OpenClosed01 ) ;
2705- let _: OrderedFloat < T > = rng. sample ( Standard ) ;
2705+ let _: OrderedFloat < T > = rng. sample ( StandardUniform ) ;
27062706 let _: OrderedFloat < T > = rng. sample ( Open01 ) ;
27072707 let _: OrderedFloat < T > = rng. sample ( OpenClosed01 ) ;
27082708 assert ! ( !f1. into_inner( ) . is_nan( ) ) ;
@@ -2727,24 +2727,24 @@ mod impl_rand {
27272727 NotNan :: new ( 0f64 ) . unwrap ( ) ,
27282728 NotNan :: new ( f64:: INFINITY ) . unwrap ( ) ,
27292729 ) ;
2730- let uniform = Uniform :: new ( low, high) ;
2731- let _ = uniform. sample ( & mut rand:: thread_rng ( ) ) ;
2730+ let uniform = Uniform :: new ( low, high) . unwrap ( ) ;
2731+ let _ = uniform. sample ( & mut rand:: rng ( ) ) ;
27322732 }
27332733
27342734 #[ test]
27352735 #[ should_panic]
27362736 fn uniform_sampling_panic_on_infinity_ordered ( ) {
27372737 let ( low, high) = ( OrderedFloat ( 0f64 ) , OrderedFloat ( f64:: INFINITY ) ) ;
2738- let uniform = Uniform :: new ( low, high) ;
2739- let _ = uniform. sample ( & mut rand:: thread_rng ( ) ) ;
2738+ let uniform = Uniform :: new ( low, high) . unwrap ( ) ;
2739+ let _ = uniform. sample ( & mut rand:: rng ( ) ) ;
27402740 }
27412741
27422742 #[ test]
27432743 #[ should_panic]
27442744 fn uniform_sampling_panic_on_nan_ordered ( ) {
27452745 let ( low, high) = ( OrderedFloat ( 0f64 ) , OrderedFloat ( f64:: NAN ) ) ;
2746- let uniform = Uniform :: new ( low, high) ;
2747- let _ = uniform. sample ( & mut rand:: thread_rng ( ) ) ;
2746+ let uniform = Uniform :: new ( low, high) . unwrap ( ) ;
2747+ let _ = uniform. sample ( & mut rand:: rng ( ) ) ;
27482748 }
27492749 }
27502750}
0 commit comments