rand* 0.9.0-alpha.0
Pre-release
Pre-release
This is a pre-release. To depend on this version, use rand = "=0.9.0-alpha.0"
to prevent automatic updates (which can be expected to include breaking changes).
Generators
- Change
SmallRng::seed_from_u64
implementation (#1203) - Replace
SeedableRng
impl forSmallRng
with inherent methods, excludingfn from_seed
(#1368)
Sequences
- Simpler and faster implementation of Floyd's F2 (#1277). This
changes some outputs fromrand::seq::index::sample
and
rand::seq::SliceRandom::choose_multiple
. - New, faster algorithms for
IteratorRandom::choose
andchoose_stable
(#1268) - New, faster algorithms for
SliceRandom::shuffle
andpartial_shuffle
(#1272) - Re-introduce
Rng::gen_iter
(#1305) - Split trait
SliceRandom
intoIndexedRandom
,IndexedMutRandom
,SliceRandom
(#1382)
Distributions
{Uniform, UniformSampler}::{new, new_inclusive}
return aResult
(instead of potentially panicking) (#1229)Uniform
implementsTryFrom
instead ofFrom
for ranges (#1229)Uniform
now uses Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #1287)- Relax
Sized
bound onDistribution<T> for &D
(#1278) - Explicit impl of
sample_single_inclusive
(+~20% perf) (#1289) - Impl
DistString
forSlice<char>
andUniform<char>
(#1315) - Let
Standard
support allNonZero*
types (#1332) - Add
trait Weight
, allowingWeightedIndex
to trap overflow (#1353) - Rename
WeightedError
toWeightError
, revising variants (#1382)
SIMD
Other
- Bump MSRV to 1.60.0 (#1207, #1246, #1269, #1341)
- Improve
thread_rng
related docs (#1257) - Add
Cargo.lock.msrv
file (#1275) - Docs: enable experimental
--generate-link-to-definition
feature (#1327) - Use
zerocopy
to replace someunsafe
code (#1349) - Support
std
feature withoutgetrandom
orrand_chacha
(#1354)