renovate[bot]
6c8836ec21
Update Rust crate itertools to v0.13.0 ( #17048 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [itertools](https://togithub.com/rust-itertools/itertools ) |
dependencies | minor | `0.10` -> `0.13` |
| [itertools](https://togithub.com/rust-itertools/itertools ) |
workspace.dependencies | minor | `0.11.0` -> `0.13.0` |
---
### Release Notes
<details>
<summary>rust-itertools/itertools (itertools)</summary>
###
[`v0.13.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0130 )
[Compare
Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0 )
##### Breaking
- Removed implementation of `DoubleEndedIterator` for `ConsTuples`
([#​853](https://togithub.com/rust-itertools/itertools/issues/853 ))
- Made `MultiProduct` fused and fixed on an empty iterator
([#​835](https://togithub.com/rust-itertools/itertools/issues/835 ),
[#​834](https://togithub.com/rust-itertools/itertools/issues/834 ))
- Changed `iproduct!` to return tuples for maxi one iterator too
([#​870](https://togithub.com/rust-itertools/itertools/issues/870 ))
- Changed `PutBack::put_back` to return the old value
([#​880](https://togithub.com/rust-itertools/itertools/issues/880 ))
- Removed deprecated `repeat_call, Itertools::{foreach, step,
map_results, fold_results}`
([#​878](https://togithub.com/rust-itertools/itertools/issues/878 ))
- Removed `TakeWhileInclusive::new`
([#​912](https://togithub.com/rust-itertools/itertools/issues/912 ))
##### Added
- Added `Itertools::{smallest_by, smallest_by_key, largest, largest_by,
largest_by_key}`
([#​654](https://togithub.com/rust-itertools/itertools/issues/654 ),
[#​885](https://togithub.com/rust-itertools/itertools/issues/885 ))
- Added `Itertools::tail`
([#​899](https://togithub.com/rust-itertools/itertools/issues/899 ))
- Implemented `DoubleEndedIterator` for `ProcessResults`
([#​910](https://togithub.com/rust-itertools/itertools/issues/910 ))
- Implemented `Debug` for `FormatWith`
([#​931](https://togithub.com/rust-itertools/itertools/issues/931 ))
- Added `Itertools::get`
([#​891](https://togithub.com/rust-itertools/itertools/issues/891 ))
##### Changed
- Deprecated `Itertools::group_by` (renamed `chunk_by`)
([#​866](https://togithub.com/rust-itertools/itertools/issues/866 ),
[#​879](https://togithub.com/rust-itertools/itertools/issues/879 ))
- Deprecated `unfold` (use `std::iter::from_fn` instead)
([#​871](https://togithub.com/rust-itertools/itertools/issues/871 ))
- Optimized `GroupingMapBy`
([#​873](https://togithub.com/rust-itertools/itertools/issues/873 ),
[#​876](https://togithub.com/rust-itertools/itertools/issues/876 ))
- Relaxed `Fn` bounds to `FnMut` in `diff_with,
Itertools::into_group_map_by`
([#​886](https://togithub.com/rust-itertools/itertools/issues/886 ))
- Relaxed `Debug/Clone` bounds for `MapInto`
([#​889](https://togithub.com/rust-itertools/itertools/issues/889 ))
- Documented the `use_alloc` feature
([#​887](https://togithub.com/rust-itertools/itertools/issues/887 ))
- Optimized `Itertools::set_from`
([#​888](https://togithub.com/rust-itertools/itertools/issues/888 ))
- Removed badges in `README.md`
([#​890](https://togithub.com/rust-itertools/itertools/issues/890 ))
- Added "no-std" categories in `Cargo.toml`
([#​894](https://togithub.com/rust-itertools/itertools/issues/894 ))
- Fixed `Itertools::k_smallest` on short unfused iterators
([#​900](https://togithub.com/rust-itertools/itertools/issues/900 ))
- Deprecated `Itertools::tree_fold1` (renamed `tree_reduce`)
([#​895](https://togithub.com/rust-itertools/itertools/issues/895 ))
- Deprecated `GroupingMap::fold_first` (renamed `reduce`)
([#​902](https://togithub.com/rust-itertools/itertools/issues/902 ))
- Fixed `Itertools::k_smallest(0)` to consume the iterator, optimized
`Itertools::k_smallest(1)`
([#​909](https://togithub.com/rust-itertools/itertools/issues/909 ))
- Specialized `Combinations::nth`
([#​914](https://togithub.com/rust-itertools/itertools/issues/914 ))
- Specialized `MergeBy::fold`
([#​920](https://togithub.com/rust-itertools/itertools/issues/920 ))
- Specialized `CombinationsWithReplacement::nth`
([#​923](https://togithub.com/rust-itertools/itertools/issues/923 ))
- Specialized `FlattenOk::{fold, rfold}`
([#​927](https://togithub.com/rust-itertools/itertools/issues/927 ))
- Specialized `Powerset::nth`
([#​924](https://togithub.com/rust-itertools/itertools/issues/924 ))
- Documentation fixes
([#​882](https://togithub.com/rust-itertools/itertools/issues/882 ),
[#​936](https://togithub.com/rust-itertools/itertools/issues/936 ))
- Fixed `assert_equal` for iterators longer than `i32::MAX`
([#​932](https://togithub.com/rust-itertools/itertools/issues/932 ))
- Updated the `must_use` message of non-lazy `KMergeBy` and
`TupleCombinations`
([#​939](https://togithub.com/rust-itertools/itertools/issues/939 ))
##### Notable Internal Changes
- Tested iterator laziness
([#​792](https://togithub.com/rust-itertools/itertools/issues/792 ))
- Created `CONTRIBUTING.md`
([#​767](https://togithub.com/rust-itertools/itertools/issues/767 ))
###
[`v0.12.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0121 )
[Compare
Source](https://togithub.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1 )
##### Added
- Documented iteration order guarantee for
`Itertools::[tuple_]combinations`
([#​822](https://togithub.com/rust-itertools/itertools/issues/822 ))
- Documented possible panic in `iterate`
([#​842](https://togithub.com/rust-itertools/itertools/issues/842 ))
- Implemented `Clone` and `Debug` for `Diff`
([#​845](https://togithub.com/rust-itertools/itertools/issues/845 ))
- Implemented `Debug` for `WithPosition`
([#​859](https://togithub.com/rust-itertools/itertools/issues/859 ))
- Implemented `Eq` for `MinMaxResult`
([#​838](https://togithub.com/rust-itertools/itertools/issues/838 ))
- Implemented `From<EitherOrBoth<A, B>>` for `Option<Either<A, B>>`
([#​843](https://togithub.com/rust-itertools/itertools/issues/843 ))
- Implemented `PeekingNext` for `RepeatN`
([#​855](https://togithub.com/rust-itertools/itertools/issues/855 ))
##### Changed
- Made `CoalesceBy` lazy
([#​801](https://togithub.com/rust-itertools/itertools/issues/801 ))
- Optimized `Filter[Map]Ok::next`, `Itertools::partition`,
`Unique[By]::next[_back]`
([#​818](https://togithub.com/rust-itertools/itertools/issues/818 ))
- Optimized `Itertools::find_position`
([#​837](https://togithub.com/rust-itertools/itertools/issues/837 ))
- Optimized `Positions::next[_back]`
([#​816](https://togithub.com/rust-itertools/itertools/issues/816 ))
- Optimized `ZipLongest::fold`
([#​854](https://togithub.com/rust-itertools/itertools/issues/854 ))
- Relaxed `Debug` bounds for `GroupingMapBy`
([#​860](https://togithub.com/rust-itertools/itertools/issues/860 ))
- Specialized `ExactlyOneError::fold`
([#​826](https://togithub.com/rust-itertools/itertools/issues/826 ))
- Specialized `Interleave[Shortest]::fold`
([#​849](https://togithub.com/rust-itertools/itertools/issues/849 ))
- Specialized `MultiPeek::fold`
([#​820](https://togithub.com/rust-itertools/itertools/issues/820 ))
- Specialized `PadUsing::[r]fold`
([#​825](https://togithub.com/rust-itertools/itertools/issues/825 ))
- Specialized `PeekNth::fold`
([#​824](https://togithub.com/rust-itertools/itertools/issues/824 ))
- Specialized `Positions::[r]fold`
([#​813](https://togithub.com/rust-itertools/itertools/issues/813 ))
- Specialized `PutBackN::fold`
([#​823](https://togithub.com/rust-itertools/itertools/issues/823 ))
- Specialized `RepeatN::[r]fold`
([#​821](https://togithub.com/rust-itertools/itertools/issues/821 ))
- Specialized `TakeWhileInclusive::fold`
([#​851](https://togithub.com/rust-itertools/itertools/issues/851 ))
- Specialized `ZipLongest::rfold`
([#​848](https://togithub.com/rust-itertools/itertools/issues/848 ))
##### Notable Internal Changes
- Added test coverage in CI
([#​847](https://togithub.com/rust-itertools/itertools/issues/847 ),
[#​856](https://togithub.com/rust-itertools/itertools/issues/856 ))
- Added semver check in CI
([#​784](https://togithub.com/rust-itertools/itertools/issues/784 ))
- Enforced `clippy` in CI
([#​740](https://togithub.com/rust-itertools/itertools/issues/740 ))
- Enforced `rustdoc` in CI
([#​840](https://togithub.com/rust-itertools/itertools/issues/840 ))
- Improved specialization tests
([#​807](https://togithub.com/rust-itertools/itertools/issues/807 ))
- More specialization benchmarks
([#​806](https://togithub.com/rust-itertools/itertools/issues/806 ))
###
[`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120 )
[Compare
Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0 )
##### Breaking
- Made `take_while_inclusive` consume iterator by value
([#​709](https://togithub.com/rust-itertools/itertools/issues/709 ))
- Added `Clone` bound to `Unique`
([#​777](https://togithub.com/rust-itertools/itertools/issues/777 ))
##### Added
- Added `Itertools::try_len`
([#​723](https://togithub.com/rust-itertools/itertools/issues/723 ))
- Added free function `sort_unstable`
([#​796](https://togithub.com/rust-itertools/itertools/issues/796 ))
- Added `GroupMap::fold_with`
([#​778](https://togithub.com/rust-itertools/itertools/issues/778 ),
[#​785](https://togithub.com/rust-itertools/itertools/issues/785 ))
- Added `PeekNth::{peek_mut, peek_nth_mut}`
([#​716](https://togithub.com/rust-itertools/itertools/issues/716 ))
- Added `PeekNth::{next_if, next_if_eq}`
([#​734](https://togithub.com/rust-itertools/itertools/issues/734 ))
- Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth`
([#​713](https://togithub.com/rust-itertools/itertools/issues/713 ))
- Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>`
([#​715](https://togithub.com/rust-itertools/itertools/issues/715 ))
- Implemented `ExactSizeIterator` for `Tuples`
([#​761](https://togithub.com/rust-itertools/itertools/issues/761 ))
- Implemented `ExactSizeIterator` for `(Circular)TupleWindows`
([#​752](https://togithub.com/rust-itertools/itertools/issues/752 ))
- Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>`
([#​719](https://togithub.com/rust-itertools/itertools/issues/719 ))
##### Changed
- Added missing `#[must_use]` annotations on iterator adaptors
([#​794](https://togithub.com/rust-itertools/itertools/issues/794 ))
- Made `Combinations` lazy
([#​795](https://togithub.com/rust-itertools/itertools/issues/795 ))
- Made `Intersperse(With)` lazy
([#​797](https://togithub.com/rust-itertools/itertools/issues/797 ))
- Made `Permutations` lazy
([#​793](https://togithub.com/rust-itertools/itertools/issues/793 ))
- Made `Product` lazy
([#​800](https://togithub.com/rust-itertools/itertools/issues/800 ))
- Made `TupleWindows` lazy
([#​602](https://togithub.com/rust-itertools/itertools/issues/602 ))
- Specialized `Combinations::{count, size_hint}`
([#​729](https://togithub.com/rust-itertools/itertools/issues/729 ))
- Specialized `CombinationsWithReplacement::{count, size_hint}`
([#​737](https://togithub.com/rust-itertools/itertools/issues/737 ))
- Specialized `Powerset::fold`
([#​765](https://togithub.com/rust-itertools/itertools/issues/765 ))
- Specialized `Powerset::count`
([#​735](https://togithub.com/rust-itertools/itertools/issues/735 ))
- Specialized `TupleCombinations::{count, size_hint}`
([#​763](https://togithub.com/rust-itertools/itertools/issues/763 ))
- Specialized `TupleCombinations::fold`
([#​775](https://togithub.com/rust-itertools/itertools/issues/775 ))
- Specialized `WhileSome::fold`
([#​780](https://togithub.com/rust-itertools/itertools/issues/780 ))
- Specialized `WithPosition::fold`
([#​772](https://togithub.com/rust-itertools/itertools/issues/772 ))
- Specialized `ZipLongest::fold`
([#​774](https://togithub.com/rust-itertools/itertools/issues/774 ))
- Changed `{min, max}_set*` operations require `alloc` feature, instead
of `std`
([#​760](https://togithub.com/rust-itertools/itertools/issues/760 ))
- Improved documentation of `tree_fold1`
([#​787](https://togithub.com/rust-itertools/itertools/issues/787 ))
- Improved documentation of `permutations`
([#​724](https://togithub.com/rust-itertools/itertools/issues/724 ))
- Fixed typo in documentation of `multiunzip`
([#​770](https://togithub.com/rust-itertools/itertools/issues/770 ))
##### Notable Internal Changes
- Improved specialization tests
([#​799](https://togithub.com/rust-itertools/itertools/issues/799 ),
[#​786](https://togithub.com/rust-itertools/itertools/issues/786 ),
[#​782](https://togithub.com/rust-itertools/itertools/issues/782 ))
- Simplified implementation of `Permutations`
([#​739](https://togithub.com/rust-itertools/itertools/issues/739 ),
[#​748](https://togithub.com/rust-itertools/itertools/issues/748 ),
[#​790](https://togithub.com/rust-itertools/itertools/issues/790 ))
- Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations
([#​736](https://togithub.com/rust-itertools/itertools/issues/736 ))
- Simplified `Permutations::size_hint`
([#​739](https://togithub.com/rust-itertools/itertools/issues/739 ))
- Fix wrapping arithmetic in benchmarks
([#​770](https://togithub.com/rust-itertools/itertools/issues/770 ))
- Enforced `rustfmt` in CI
([#​751](https://togithub.com/rust-itertools/itertools/issues/751 ))
- Disallowed compile warnings in CI
([#​720](https://togithub.com/rust-itertools/itertools/issues/720 ))
- Used `cargo hack` to check MSRV
([#​754](https://togithub.com/rust-itertools/itertools/issues/754 ))
###
[`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110 )
[Compare
Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0 )
##### Breaking
- Make `Itertools::merge_join_by` also accept functions returning bool
([#​704](https://togithub.com/rust-itertools/itertools/issues/704 ))
- Implement `PeekingNext` transitively over mutable references
([#​643](https://togithub.com/rust-itertools/itertools/issues/643 ))
- Change `with_position` to yield `(Position, Item)` instead of
`Position<Item>`
([#​699](https://togithub.com/rust-itertools/itertools/issues/699 ))
##### Added
- Add `Itertools::take_while_inclusive`
([#​616](https://togithub.com/rust-itertools/itertools/issues/616 ))
- Implement `PeekingNext` for `PeekingTakeWhile`
([#​644](https://togithub.com/rust-itertools/itertools/issues/644 ))
- Add `EitherOrBoth::{just_left, just_right, into_left, into_right,
as_deref, as_deref_mut, left_or_insert, right_or_insert,
left_or_insert_with, right_or_insert_with, insert_left, insert_right,
insert_both}`
([#​629](https://togithub.com/rust-itertools/itertools/issues/629 ))
- Implement `Clone` for `CircularTupleWindows`
([#​686](https://togithub.com/rust-itertools/itertools/issues/686 ))
- Implement `Clone` for `Chunks`
([#​683](https://togithub.com/rust-itertools/itertools/issues/683 ))
- Add `Itertools::process_results`
([#​680](https://togithub.com/rust-itertools/itertools/issues/680 ))
##### Changed
- Use `Cell` instead of `RefCell` in `Format` and `FormatWith`
([#​608](https://togithub.com/rust-itertools/itertools/issues/608 ))
- CI tweaks
([#​674](https://togithub.com/rust-itertools/itertools/issues/674 ),
[#​675](https://togithub.com/rust-itertools/itertools/issues/675 ))
- Document and test the difference between stable and unstable sorts
([#​653](https://togithub.com/rust-itertools/itertools/issues/653 ))
- Fix documentation error on `Itertools::max_set_by_key`
([#​692](https://togithub.com/rust-itertools/itertools/issues/692 ))
- Move MSRV metadata to `Cargo.toml`
([#​672](https://togithub.com/rust-itertools/itertools/issues/672 ))
- Implement `equal` with `Iterator::eq`
([#​591](https://togithub.com/rust-itertools/itertools/issues/591 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-08-28 22:13:35 -07:00