The return type of .sorted_by_by_key() is now an iterator, not a Vec.
The return type of the izip!(x, y) macro with exactly two arguments is now the usual Iterator::zip.
Remove .flatten() in favour of std's .flatten()
Deprecate .foreach() in favour of std's .for_each()
Deprecate .step() in favour of std's .step_by()
Deprecate repeat_call in favour of std's repeat_with
Deprecate .fold_while() in favour of std's .try_fold()
Require Rust 1.24 as minimal version.
0.7.11
Add convenience methods to EitherOrBoth, making it more similar to Option and Either by @jethrogb
0.7.10
No changes.
0.7.9
New inclusion policy: See the readme about suggesting features for std before accepting them in itertools.
The FoldWhile type now implements Eq and PartialEq by @jturner314
0.7.8
Add new iterator method .tree_fold1() which is like .fold1() except items are combined in a tree structure (see its docs). By @scottmcm
Add more Debug impls by @phimuemue: KMerge, KMergeBy, MergeJoinBy, ConsTuples, Intersperse, ProcessResults, RcIter, Tee, TupleWindows, Tee, ZipLongest, ZipEq, Zip.
0.7.7
Add new iterator method .into_group_map() -> HashMap<K, Vec<V>> which turns an iterator of (K, V) elements into such a hash table, where values are grouped by key. By @tobz1000
Add new free function flatten for the .flatten() adaptor. NOTE: recent Rust nightlies have Iterator::flatten and thus a clash with our flatten adaptor. One workaround is to use the itertools flatten free function.
0.7.6
Add new adaptor .multi_cartesian_product() which is an n-ary product iterator by @tobz1000
Provide simpler and faster .count() for .unique() and .unique_by()
0.7.5
.multipeek() now implements PeekingNext, by @nicopap.
0.7.4
Add new adaptor .update() by @lucasem; this adaptor is used to modify an element before passing it on in an iterator chain.
0.7.3
Add new method .collect_tuple() by @matklad; it makes a tuple out of the iterator's elements if the number of them matches exactly.
Implement fold and collect for .map_results() which means it reuses the code of the standard .map() for these methods.
0.7.2
Add new adaptor .merge_join_by by @srijs; a heterogeneous merge join for two ordered sequences.
0.7.1
Iterator adaptors and iterators in itertools now use the same must_use reminder that the standard library adaptors do, by @matematikaedit and @bluss“iterator adaptors are lazy and do nothing unless consumed”.
izip!() is now a wrapper for repeated regular .zip() and a single .map(). This means it optimizes as well as the standard library .zip() it uses. Note:multizip and izip!() are now different! The former has a named type but the latter optimizes better.
Faster .unique()
no_std support, which is opt-in!
Many lovable features are still there without std, like izip!() or .format() or .merge(), but not those that use collections.
Trait bounds were required up front instead of just on the type: group_by's PartialEq by @Phlosioneer and repeat_call's FnMut.
Removed deprecated constructor Zip::new — use izip!() or multizip()
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 itertools from 0.6.5 to 0.8.0.
Changelog
Sourced from itertools's changelog.
Commits
cd0602a
0.8.05a8f2fd
MAINT: Require Rust 1.24 as minimum version4986d92
DOC: Minor edits to module docs01f15a0
Merge #288883d40a
map_into method3bf265d
Merge pull request #321 from JohnHeitmann/mastere820996
Document the trait extension behavior of Itertools a bit more clearly44c9654
Merge pull request #318 from bluss/std-deprecationsd2e254f
API: Fix the mystery deprecation message for Step602f2f6
API: Deprecate .foreach() in favour of std's .for_each()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)