Skip to content

Commit

Permalink
Address #53
Browse files Browse the repository at this point in the history
  • Loading branch information
myrrlyn committed Apr 18, 2021
1 parent c26f1c1 commit 765eb18
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions lexical-core/src/util/sequence.rs
Expand Up @@ -48,7 +48,7 @@ pub fn insert_many<V, T, I>(vec: &mut V, index: usize, iterable: I)
where V: VecLike<T>,
I: iter::IntoIterator<Item=T>
{
let iter = iterable.into_iter();
let mut iter = iterable.into_iter();
if index == vec.len() {
return vec.extend(iter);
}
Expand All @@ -70,7 +70,7 @@ pub fn insert_many<V, T, I>(vec: &mut V, index: usize, iterable: I)
vec.set_len(index);

let mut num_added = 0;
for element in iter {
for element in iter.by_ref().take(lower_size_bound) {
let mut cur = ptr.add(num_added);
if num_added >= lower_size_bound {
// Iterator provided more elements than the hint. Move trailing items again.
Expand All @@ -88,6 +88,10 @@ pub fn insert_many<V, T, I>(vec: &mut V, index: usize, iterable: I)
}

vec.set_len(old_len + num_added);

// If the iterator had more than its lower bound indicated, collect in
// a slow path.
vec.extend(iter);
}
}

Expand Down

0 comments on commit 765eb18

Please sign in to comment.