itertools breaking changes
cargo36 curated breaking changes across major versions of itertools. Use this as a migration checklist before bumping dependencies.
- 0.4.19 \u2192 0.5.0behavior
`format` to `format_with` and `format_default` to `format`
- 0.4.19 \u2192 0.5.0breaking
`Unfold::new` to `unfold()`
- 0.4.19 \u2192 0.5.0breaking
`RepeatCall::new` to `repeat_call()`
- 0.4.19 \u2192 0.5.0breaking
`Zip::new` to `multizip`
- 0.4.19 \u2192 0.5.0breaking
`PutBack::new`, `PutBackN::new` to `put_back`, `put_back_n`
- 0.4.19 \u2192 0.5.0breaking
[Release announcement](https://bluss.github.io/rust/2016/09/26/itertools-0.5.0/)
- 0.4.19 \u2192 0.5.0breaking
`combinations` is now `tuple_combinations`
- 0.4.19 \u2192 0.5.0breaking
`combinations_n` to `combinations`
- 0.4.19 \u2192 0.5.0breaking
`group_by_lazy`, `chunks_lazy` to `group_by`, `chunks`
- 0.4.19 \u2192 0.5.0breaking
`MultiPeek::new`, `.multipeek()` to `multipeek()`
- 0.4.19 \u2192 0.5.0breaking
`.into_rc()` to `rciter`
- 0.4.19 \u2192 0.5.0breaking
`Partition` enum is now `Either`
- 0.4.19 \u2192 0.5.0breaking
Module reorganization:
- 0.4.19 \u2192 0.5.0breaking
All iterator structs are under `itertools::structs` but also reexported to the top level, for backwards compatibility
- 0.4.19 \u2192 0.5.0breaking
`PutBack::with_value` is now a builder setter, not a constructor
- 0.4.19 \u2192 0.5.0breaking
`ZipSlices`, use `.zip()` instead
- 0.4.19 \u2192 0.5.0breaking
`.enumerate_from()`, `ZipTrusted`, due to being unstable
- 0.4.19 \u2192 0.5.0breaking
`.mend_slices()`, moved to crate `odds`
- 0.4.19 \u2192 0.5.0breaking
Stride, StrideMut, moved to crate `odds`
- 0.4.19 \u2192 0.5.0breaking
`linspace()`, moved to crate `itertools-num`
- 0.4.19 \u2192 0.5.0breaking
`.sort_by()`, use `.sorted_by()`
- 0.4.19 \u2192 0.5.0breaking
`.is_empty_hint()`, use `.size_hint()`
- 0.4.19 \u2192 0.5.0removed
All free functions are reexported at the root, `itertools::free` will be removed in the next version
- 0.3.25 \u2192 0.4.0breaking
`.merge()`, `.unique()` and `.dedup()` now perform better due to not using function pointers
- 0.3.25 \u2192 0.4.0breaking
Add free functions `enumerate()` and `rev()`
- 0.3.25 \u2192 0.4.0breaking
Breaking changes:
- 0.3.25 \u2192 0.4.0breaking
`.interleave_shortest()` is no longer guaranteed to act like fused
- 0.3.25 \u2192 0.4.0breaking
`.merge_by()` now takes a closure that returns bool.
- 0.3.25 \u2192 0.4.0breaking
Return type of `.dedup()` changed
- 0.3.25 \u2192 0.4.0breaking
Return type of `.mend_slices()` changed
- 0.3.25 \u2192 0.4.0breaking
Return type of `.unique()` changed
- 0.3.25 \u2192 0.4.0removed
Removed deprecated macro `icompr!()`
- 0.3.25 \u2192 0.4.0removed
Method `Merge::new` removed
- 0.3.25 \u2192 0.4.0removed
Removed deprecated `FnMap` and method `.fn_map()`: use `.map_fn()`
- 0.3.25 \u2192 0.4.0removed
Removed function `times()`, struct `Times`: use a range instead
- 0.3.25 \u2192 0.4.0renamed
Return types of `.merge()` and `.merge_by()` renamed and changed
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/itertools