|
7 | 7 |
|
8 | 8 | use clap::{crate_version, Arg, ArgAction, Command}; |
9 | 9 | use memchr::memchr_iter; |
10 | | -use rand::prelude::SliceRandom; |
| 10 | +use rand::prelude::{IndexedRandom, SliceRandom}; |
11 | 11 | use rand::{Rng, RngCore}; |
12 | 12 | use std::collections::HashSet; |
13 | 13 | use std::fs::File; |
@@ -299,7 +299,7 @@ impl Shufable for RangeInclusive<usize> { |
299 | 299 | self.is_empty() |
300 | 300 | } |
301 | 301 | fn choose(&self, rng: &mut WrappedRng) -> usize { |
302 | | - rng.gen_range(self.clone()) |
| 302 | + rng.random_range(self.clone()) |
303 | 303 | } |
304 | 304 | type PartialShuffleIterator<'b> |
305 | 305 | = NonrepeatingIterator<'b> |
@@ -348,7 +348,7 @@ impl<'a> NonrepeatingIterator<'a> { |
348 | 348 | match &mut self.buf { |
349 | 349 | NumberSet::AlreadyListed(already_listed) => { |
350 | 350 | let chosen = loop { |
351 | | - let guess = self.rng.gen_range(self.range.clone()); |
| 351 | + let guess = self.rng.random_range(self.range.clone()); |
352 | 352 | let newly_inserted = already_listed.insert(guess); |
353 | 353 | if newly_inserted { |
354 | 354 | break guess; |
@@ -435,7 +435,7 @@ fn shuf_exec(input: &mut impl Shufable, opts: Options) -> UResult<()> { |
435 | 435 | .map_err_context(|| format!("failed to open random source {}", r.quote()))?; |
436 | 436 | WrappedRng::RngFile(rand_read_adapter::ReadRng::new(file)) |
437 | 437 | } |
438 | | - None => WrappedRng::RngDefault(rand::thread_rng()), |
| 438 | + None => WrappedRng::RngDefault(rand::rng()), |
439 | 439 | }; |
440 | 440 |
|
441 | 441 | if opts.repeat { |
@@ -520,13 +520,6 @@ impl RngCore for WrappedRng { |
520 | 520 | Self::RngDefault(r) => r.fill_bytes(dest), |
521 | 521 | } |
522 | 522 | } |
523 | | - |
524 | | - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), rand::Error> { |
525 | | - match self { |
526 | | - Self::RngFile(r) => r.try_fill_bytes(dest), |
527 | | - Self::RngDefault(r) => r.try_fill_bytes(dest), |
528 | | - } |
529 | | - } |
530 | 523 | } |
531 | 524 |
|
532 | 525 | #[cfg(test)] |
|
0 commit comments