exactsizearr: No need for default constraint on items of the ESI input

This commit is contained in:
2026-04-16 11:45:41 +01:00
committed by oreodave
parent 79366d60fe
commit 6ab30cf1a1

View File

@@ -1,10 +1,7 @@
/// An iterator adaptor (derived from ExactSizedIterator) which has a guaranteed
/// compile time size, allowing for collection of an iterator into a stack
/// allocated array.
pub trait ExactSizedArr<I>: ExactSizeIterator<Item = I> + Sized
where
I: Default,
{
pub trait ExactSizedArr<I>: ExactSizeIterator + Sized {
fn into_array<const N: usize>(mut self) -> Result<[Self::Item; N], Self> {
if self.len() < N {
Err(self)
@@ -15,9 +12,4 @@ where
}
/// Default implementation of ExactSizedArr for any ExactSizeIterator.
impl<T, I> ExactSizedArr<T> for I
where
T: Default + Copy + Clone,
I: ExactSizeIterator<Item = T>,
{
}
impl<I> ExactSizedArr<I> for I where I: ExactSizeIterator {}