We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e7246e9 commit 5fe6533Copy full SHA for 5fe6533
lib.rs
@@ -433,10 +433,19 @@ impl<A: Array> FromIterator<A::Item> for SmallVec<A> {
433
}
434
435
impl<A: Array> Extend<A::Item> for SmallVec<A> {
436
- #[inline]
437
fn extend<I: IntoIterator<Item=A::Item>>(&mut self, iterable: I) {
438
- let len = self.len();
439
- self.insert_many(len, iterable);
+ let iter = iterable.into_iter();
+ let (lower_size_bound, _) = iter.size_hint();
+
440
+ let target_len = self.len + lower_size_bound;
441
442
+ if target_len > self.capacity() {
443
+ self.grow(target_len);
444
+ }
445
446
+ for elem in iter {
447
+ self.push(elem);
448
449
450
451
0 commit comments