usfx
usfx copied to clipboard
chore(deps): update rust crate rand to 0.9.0
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| rand (source) | dev-dependencies | minor | 0.8.5 -> 0.9.0 |
Release Notes
rust-random/rand (rand)
v0.9.2
Deprecated
- Deprecate
rand::rngs::mockmodule andStepRnggenerator (#​1634)
Additions
- Enable
WeightedIndex<usize>(de)serialization (#​1646)
v0.9.1
Security and unsafe
- Revise "not a crypto library" policy again (#​1565)
- Remove
zerocopydependency fromrand(#​1579)
Fixes
- Fix feature
simd_supportfor recent nightly rust (#​1586)
Changes
- Allow
fn rand::seq::index::sample_weightedandfn IndexedRandom::choose_multiple_weightedto return fewer thanamountresults (#​1623), reverting an undocumented change (#​1382) to the previous release.
Additions
v0.9.0
Security and unsafe
- Policy: "rand is not a crypto library" (#​1514)
- Remove fork-protection from
ReseedingRngandThreadRng. Instead, it is recommended to callThreadRng::reseedon fork. (#​1379) - Use
zerocopyto replace someunsafecode (#​1349, #​1393, #​1446, #​1502)
Dependencies
- Bump the MSRV to 1.63.0 (#​1207, #​1246, #​1269, #​1341, #​1416, #​1536); note that 1.60.0 may work for dependents when using
--ignore-rust-version - Update to
rand_corev0.9.0 (#​1558)
Features
- Support
stdfeature withoutgetrandomorrand_chacha(#​1354) - Enable feature
small_rngby default (#​1455) - Remove implicit feature
rand_chacha; usestd_rnginstead. (#​1473) - Rename feature
serde1toserde(#​1477) - Rename feature
getrandomtoos_rng(#​1537) - Add feature
thread_rng(#​1547)
API changes: rand_core traits
- Add fn
RngCore::read_adapterimplementingstd::io::Read(#​1267) - Add trait
CryptoBlockRng: BlockRngCore; maketrait CryptoRng: RngCore(#​1273) - Add traits
TryRngCore,TryCryptoRng(#​1424, #​1499) - Rename
fn SeedableRng::from_rng->try_from_rngand add infallible variantfn from_rng(#​1424) - Rename
fn SeedableRng::from_entropy->from_os_rngand add fallible variantfn try_from_os_rng(#​1424) - Add bounds
CloneandAsRefto associated typeSeedableRng::Seed(#​1491)
API changes: Rng trait and top-level fns
- Rename fn
rand::thread_rng()torand::rng()and remove from the prelude (#​1506) - Remove fn
rand::random()from the prelude (#​1506) - Add top-level fns
random_iter,random_range,random_bool,random_ratio,fill(#​1488) - Re-introduce fn
Rng::gen_iterasrandom_iter(#​1305, #​1500) - Rename fn
Rng::gentorandomto avoid conflict with the newgenkeyword in Rust 2024 (#​1438) - Rename fns
Rng::gen_rangetorandom_range,gen_booltorandom_bool,gen_ratiotorandom_ratio(#​1505) - Annotate panicking methods with
#[track_caller](#​1442, #​1447)
API changes: RNGs
- Fix
<SmallRng as SeedableRng>::Seedsize to 256 bits (#​1455) - Remove first parameter (
rng) ofReseedingRng::new(#​1533)
API changes: Sequences
- Split trait
SliceRandomintoIndexedRandom,IndexedMutRandom,SliceRandom(#​1382) - Add
IndexedRandom::choose_multiple_array,index::sample_array(#​1453, #​1469)
API changes: Distributions: renames
- Rename module
rand::distributionstorand::distr(#​1470) - Rename distribution
StandardtoStandardUniform(#​1526) - Move
distr::Slice->distr::slice::Choose,distr::EmptySlice->distr::slice::Empty(#​1548) - Rename trait
distr::DistString->distr::SampleString(#​1548) - Rename
distr::DistIter->distr::Iter,distr::DistMap->distr::Map(#​1548)
API changes: Distributions
- Relax
Sizedbound onDistribution<T> for &D(#​1278) - Remove impl of
Distribution<Option<T>>forStandardUniform(#​1526) - Let distribution
StandardUniformsupport allNonZero*types (#​1332) - Fns
{Uniform, UniformSampler}::{new, new_inclusive}return aResult(instead of potentially panicking) (#​1229) - Distribution
UniformimplementsTryFrominstead ofFromfor ranges (#​1229) - Add
UniformUsize(#​1487) - Remove support for generating
isizeandusizevalues withStandardUniform,Uniform(except viaUniformUsize) andFilland usage as aWeightedAliasIndexweight (#​1487) - Add impl
DistStringfor distributionsSlice<char>andUniform<char>(#​1315) - Add fn
Slice::num_choices(#​1402) - Add fn
p()for distributionBernoullito access probability (#​1481)
API changes: Weighted distributions
- Add
pubmodulerand::distr::weighted, movingWeightedIndexthere (#​1548) - Add trait
weighted::Weight, allowingWeightedIndexto trap overflow (#​1353) - Add fns
weight, weights, total_weightto distributionWeightedIndex(#​1420) - Rename enum
WeightedErrortoweighted::Error, revising variants (#​1382) and mark as#[non_exhaustive](#​1480)
API changes: SIMD
- Switch to
std::simd, expand SIMD & docs (#​1239)
Reproducibility-breaking changes
- Make
ReseedingRng::reseeddiscard remaining data from the last block generated (#​1379) - Change fn
SmallRng::seed_from_u64implementation (#​1203) - Allow
UniformFloat::newsamples andUniformFloat::sample_singleto yieldhigh(#​1462) - Fix portability of distribution
Slice(#​1469) - Make
Uniformforusizeportable viaUniformUsize(#​1487) - Fix
IndexdRandom::choose_multiple_weightedfor very small seeds and optimize for large input length / low memory (#​1530)
Reproducibility-breaking optimisations
- Optimize fn
sample_floyd, affecting output ofrand::seq::index::sampleandrand::seq::SliceRandom::choose_multiple(#​1277) - New, faster algorithms for
IteratorRandom::chooseandchoose_stable(#​1268) - New, faster algorithms for
SliceRandom::shuffleandpartial_shuffle(#​1272) - Optimize distribution
Uniform: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #​1287) - Optimize fn
sample_single_inclusivefor floats (+~20% perf) (#​1289)
Other optimisations
Other
- Add
Cargo.lock.msrvfile (#​1275) - Reformat with
rustfmtand enforce (#​1448) - Apply Clippy suggestions and enforce (#​1448, #​1474)
- Move all benchmarks to new
benchescrate (#​1329, #​1439) and migrate to Criterion (#​1490)
Documentation
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Branch automerge failure
This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.
- Branch has one or more failed status checks