Release rayon 1.5.2 / rayon-core 1.9.2 (2022-04-13)
The new ParallelSlice::par_rchunks() and par_rchunks_exact() iterate
slice chunks in reverse, aligned the against the end of the slice if the
length is not a perfect multiple of the chunk size. The new
ParallelSliceMut::par_rchunks_mut() and par_rchunks_exact_mut() are the
same for mutable slices.
The ParallelIterator::try_* methods now support std::ops::ControlFlow and
std::task::Poll items, mirroring the unstable Try implementations in the
standard library.
The ParallelString pattern-based methods now support &[char] patterns,
which match when any character in that slice is found in the string.
A soft limit is now enforced on the number of threads allowed in a single
thread pool, respecting internal bit limits that already existed. The current
maximum is publicly available from the new function max_num_threads().
Fixed several Stacked Borrow and provenance issues found by cargo miri.
Contributors
Thanks to all of the contributors for this release!
Release rayon 1.5.1 / rayon-core 1.9.1 (2021-05-18)
The new in_place_scope and in_place_scope_fifo are variations of scope
and scope_fifo, running the initial non-Send callback directly on the
current thread, rather than moving execution to the thread pool.
With Rust 1.51 or later, arrays now implement IntoParallelIterator.
New implementations of FromParallelIterator make it possible to collect
complicated nestings of items.
FromParallelIterator<(A, B)> for (FromA, FromB) works like unzip.
FromParallelIterator<Either<L, R>> for (A, B) works like partition_map.
Type inference now works better with parallel Range and RangeInclusive.
The implementation of FromParallelIterator and ParallelExtend for
Vec<T> now uses MaybeUninit<T> internally to avoid creating any
references to uninitialized data.
ParallelBridge fixed a bug with threads missing available work.
Contributors
Thanks to all of the contributors for this release!
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps rayon from 1.3.1 to 1.5.2.
Changelog
Sourced from rayon's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)