Skip to content

Upgrading rand_core 0.9 to 0.10

Breaking0.9.5 → 0.10.1Breaking8Platform1Deprecated1New4Changed2Fixed2Other3

BreakingUpgrade verdict

8 breaking changes and a platform requirement change.

  • Rename fns IndexedRandom::choose_multiple -> sample, choose_multiple_array -> sample_array, choose_multiple_weighted -> sample_weighted, struct SliceChooseIter -> IndexedSamples and fns…
  • Remove fns SeedableRng::from_os_rng, try_from_os_rng ().
  • Remove Clone support for StdRng, ReseedingRng ().
  • Rename os_rng -> sys_rng, OsRng -> SysRng, OsError -> SysError ().
Top 5 of 10 that need code or config changes

Rust requirement changed in 0.10.0-rc-1: 1.63 → 1.85.

Breaking8
Rename fns IndexedRandom::choose_multiple -> sample, choose_multiple_array -> sample_array, choose_multiple_weighted -> sample_weighted, struct SliceChooseIter -> IndexedSamples and fns…
IndexedRandom::choose_multiplesamplechoose_multiple_arraysample_arraychoose_multiple_weightedsample_weighted
Remove fns SeedableRng::from_os_rng, try_from_os_rng ().
SeedableRng::from_os_rngtry_from_os_rng
Remove Clone support for StdRng, ReseedingRng ().
CloneStdRngReseedingRng
Rename os_rng -> sys_rng, OsRng -> SysRng, OsError -> SysError ().
os_rngsys_rngOsRngSysRngOsErrorSysError
Rename Rng -> RngExt as upstream rand_core has renamed RngCore -> Rng ().
RngRngExtrand_coreRngCore
Removed ReseedingRng ().
ReseedingRng
Removed unused feature "nightly" ().
Removed feature small_rng ().
small_rng
Platform1
Use Edition 2024 and MSRV 1.85 ().
Deprecated1
Deprecate feature log ().
log