Sourced from itertools's changelog.
0.13.0
Breaking
- Removed implementation of
DoubleEndedIterator
forConsTuples
(#853)- Made
MultiProduct
fused and fixed on an empty iterator (#835, #834)- Changed
iproduct!
to return tuples for maxi one iterator too (#870)- Changed
PutBack::put_back
to return the old value (#880)- Removed deprecated
repeat_call, Itertools::{foreach, step, map_results, fold_results}
(#878)- Removed
TakeWhileInclusive::new
(#912)Added
- Added
Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}
(#654, #885)- Added
Itertools::tail
(#899)- Implemented
DoubleEndedIterator
forProcessResults
(#910)- Implemented
Debug
forFormatWith
(#931)- Added
Itertools::get
(#891)Changed
- Deprecated
Itertools::group_by
(renamedchunk_by
) (#866, #879)- Deprecated
unfold
(usestd::iter::from_fn
instead) (#871)- Optimized
GroupingMapBy
(#873, #876)- Relaxed
Fn
bounds toFnMut
indiff_with, Itertools::into_group_map_by
(#886)- Relaxed
Debug/Clone
bounds forMapInto
(#889)- Documented the
use_alloc
feature (#887)- Optimized
Itertools::set_from
(#888)- Removed badges in
README.md
(#890)- Added "no-std" categories in
Cargo.toml
(#894)- Fixed
Itertools::k_smallest
on short unfused iterators (#900)- Deprecated
Itertools::tree_fold1
(renamedtree_reduce
) (#895)- Deprecated
GroupingMap::fold_first
(renamedreduce
) (#902)- Fixed
Itertools::k_smallest(0)
to consume the iterator, optimizedItertools::k_smallest(1)
(#909)- Specialized
Combinations::nth
(#914)- Specialized
MergeBy::fold
(#920)- Specialized
CombinationsWithReplacement::nth
(#923)- Specialized
FlattenOk::{fold, rfold}
(#927)- Specialized
Powerset::nth
(#924)- Documentation fixes (#882, #936)
- Fixed
assert_equal
for iterators longer thani32::MAX
(#932)- Updated the
must_use
message of non-lazyKMergeBy
andTupleCombinations
(#939)Notable Internal Changes
d5084d1
Prepare v0.13.0 release (#937)d7c99d5
TupleCombinations
is not lazy but must be used
nonetheless074c7fc
KMergeBy
is not lazy but must be used nonetheless2ad9e07
assert_equal
: fix
clippy::default_numeric_fallback
0d4efc8
Remove free function get
05cc0ee
get(s..=usize::MAX)
should be fine when s !=
0
3c16f14
get
: when is it ESI and/or DEI4dd6ba0
get
: panics if the range includes
usize::MAX
7a9ce56
get(r: Range)
as Skip\<Take>
f676f2f
Remove the unspecified check about
.get(exhausted_range_inclusive)