Skip to content

Commit d2e8dcc

Browse files
committed
Use ArrayOrVecHelper::start in {Array,}Combinations
1 parent 19f0a26 commit d2e8dcc

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

src/combinations.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
use core::array;
21
use std::fmt;
32
use std::iter::FusedIterator;
43

5-
use super::lazy_buffer::{LazyBuffer, ArrayOrVecHelper};
4+
use super::lazy_buffer::{ArrayOrVecHelper, ConstUsize, LazyBuffer, MaybeConstUsize as _};
65
use alloc::vec::Vec;
76

87
use crate::adaptors::checked_binomial;
9-
use crate::lazy_buffer::MaybeConstUsize as _;
108

119
/// Iterator for `Vec` valued combinations returned by [`.combinations()`](crate::Itertools::combinations)
1210
pub type Combinations<I> = CombinationsGeneric<I, Vec<usize>>;
@@ -18,15 +16,15 @@ pub fn combinations<I: Iterator>(iter: I, k: usize) -> Combinations<I>
1816
where
1917
I::Item: Clone,
2018
{
21-
Combinations::new(iter, (0..k).collect())
19+
Combinations::new(iter, ArrayOrVecHelper::start(k))
2220
}
2321

2422
/// Create a new `ArrayCombinations` from a clonable iterator.
2523
pub fn array_combinations<I: Iterator, const K: usize>(iter: I) -> ArrayCombinations<I, K>
2624
where
2725
I::Item: Clone,
2826
{
29-
ArrayCombinations::new(iter, array::from_fn(|i| i))
27+
ArrayCombinations::new(iter, ArrayOrVecHelper::start(ConstUsize))
3028
}
3129

3230
/// An iterator to iterate through all the `k`-length combinations in an iterator.

0 commit comments

Comments
 (0)