1- use rand:: distributions :: uniform:: { SampleBorrow , SampleUniform , UniformInt , UniformSampler } ;
1+ use rand:: distr :: uniform:: { SampleBorrow , SampleUniform , UniformInt , UniformSampler } ;
22use rand:: prelude:: Rng ;
33
44use crate :: Position ;
@@ -9,25 +9,25 @@ pub struct UniformPos(UniformInt<i64>);
99
1010impl UniformSampler for UniformPos {
1111 type X = Position ;
12- fn new < B1 , B2 > ( low : B1 , high : B2 ) -> Self
12+ fn new < B1 , B2 > ( low : B1 , high : B2 ) -> Result < Self , rand :: distr :: uniform :: Error >
1313 where
1414 B1 : SampleBorrow < Self :: X > + Sized ,
1515 B2 : SampleBorrow < Self :: X > + Sized ,
1616 {
17- UniformPos ( UniformInt :: < i64 > :: new (
17+ Ok ( UniformPos ( UniformInt :: < i64 > :: new (
1818 i64:: from ( * low. borrow ( ) ) ,
1919 i64:: from ( * high. borrow ( ) ) ,
20- ) )
20+ ) ? ) )
2121 }
22- fn new_inclusive < B1 , B2 > ( low : B1 , high : B2 ) -> Self
22+ fn new_inclusive < B1 , B2 > ( low : B1 , high : B2 ) -> Result < Self , rand :: distr :: uniform :: Error >
2323 where
2424 B1 : SampleBorrow < Self :: X > + Sized ,
2525 B2 : SampleBorrow < Self :: X > + Sized ,
2626 {
27- UniformPos ( UniformInt :: < i64 > :: new_inclusive (
27+ Ok ( UniformPos ( UniformInt :: < i64 > :: new_inclusive (
2828 i64:: from ( * low. borrow ( ) ) ,
2929 i64:: from ( * high. borrow ( ) ) ,
30- ) )
30+ ) ? ) )
3131 }
3232 fn sample < R : Rng + ?Sized > ( & self , rng : & mut R ) -> Self :: X {
3333 Position :: new_valid ( self . 0 . sample ( rng) )
0 commit comments