diff --git a/src/impls/columns.rs b/src/impls/columns.rs index 5ccb772..8ed7410 100644 --- a/src/impls/columns.rs +++ b/src/impls/columns.rs @@ -492,7 +492,6 @@ where R: Region + Push, O: IndexContainer, I: IntoIterator, - I::IntoIter: ExactSizeIterator, { #[inline] fn push(&mut self, item: PushIter) -> as Region>::Index { diff --git a/src/impls/index.rs b/src/impls/index.rs index 229e889..4225487 100644 --- a/src/impls/index.rs +++ b/src/impls/index.rs @@ -18,11 +18,8 @@ pub trait IndexContainer: Storage { /// Accepts a newly pushed element. fn push(&mut self, item: T); - /// Extend from iterator. Must be [`ExactSizeIterator`] to efficiently - /// pre-allocate. - fn extend>(&mut self, iter: I) - where - I::IntoIter: ExactSizeIterator; + /// Extend from iterator. + fn extend>(&mut self, iter: I); /// Returns an iterator over the elements. fn iter(&self) -> Self::Iter<'_>; @@ -320,8 +317,6 @@ where #[inline] fn extend>(&mut self, iter: I) - where - I::IntoIter: ExactSizeIterator, { for item in iter { self.push(item); @@ -436,8 +431,6 @@ where } fn extend>(&mut self, iter: I) - where - I::IntoIter: ExactSizeIterator, { for item in iter { self.push(item); @@ -483,10 +476,7 @@ impl IndexContainer for Vec { self.push(item); } - fn extend>(&mut self, iter: I) - where - I::IntoIter: ExactSizeIterator, - { + fn extend>(&mut self, iter: I) { Extend::extend(self, iter); } diff --git a/src/impls/slice_owned.rs b/src/impls/slice_owned.rs index 209e0e0..1a4a88a 100644 --- a/src/impls/slice_owned.rs +++ b/src/impls/slice_owned.rs @@ -252,7 +252,6 @@ where impl Push> for OwnedRegion where I: IntoIterator, - ::IntoIter: ExactSizeIterator, T: Clone, S: Storage + PushStorage>