From 0ee7864ac4421275aedc43718c4f053382e016f9 Mon Sep 17 00:00:00 2001 From: julio4 <30329843+julio4@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:22:54 +0100 Subject: [PATCH] fix: extend iterator --- corelib/src/array.cairo | 12 ++---------- corelib/src/iter/traits/collect.cairo | 12 +----------- corelib/src/test/array_test.cairo | 2 +- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/corelib/src/array.cairo b/corelib/src/array.cairo index 81668428952..7848906a27c 100644 --- a/corelib/src/array.cairo +++ b/corelib/src/array.cairo @@ -870,16 +870,8 @@ impl ArrayFromIterator> of crate::iter::FromIterator, T> { } impl ArrayExtend> of crate::iter::Extend, T> { - fn extend< - I, - impl IntoIter: IntoIterator, - +TypeEqual, - +Destruct, - +Destruct, - >( - ref self: Array, iter: I, - ) { - for elem in iter.into_iter() { + fn extend[Item: T], +Destruct>(ref self: Array, iter: I) { + for elem in iter { self.append(elem); }; } diff --git a/corelib/src/iter/traits/collect.cairo b/corelib/src/iter/traits/collect.cairo index a468a3b2a0f..74a1bdc239b 100644 --- a/corelib/src/iter/traits/collect.cairo +++ b/corelib/src/iter/traits/collect.cairo @@ -1,5 +1,3 @@ -use crate::metaprogramming::TypeEqual; - /// Conversion from an [`Iterator`]. /// /// By implementing `FromIterator` for a type, you define how it will be @@ -220,14 +218,6 @@ impl SnapshotFixedSizeArrayIntoIterator< /// ``` pub trait Extend { /// Extends a collection with the contents of an iterator. - fn extend< - I, - impl IntoIter: IntoIterator, - +TypeEqual, - +Destruct, - +Destruct, - >( - ref self: T, iter: I, - ); + fn extend[Item: A], +Destruct>(ref self: T, iter: I); } diff --git a/corelib/src/test/array_test.cairo b/corelib/src/test/array_test.cairo index f549a62846d..9165992f326 100644 --- a/corelib/src/test/array_test.cairo +++ b/corelib/src/test/array_test.cairo @@ -246,7 +246,7 @@ fn test_array_from_iterator() { #[test] fn test_array_extend() { let mut arr: Array = array![1, 2, 3]; - arr.extend((4..6_u32)); + arr.extend((4..6_u32).into_iter()); assert_eq!(arr, array![1, 2, 3, 4, 5]); }