From 2690b513506dad53d0b86b20f8b73bc420dfb3a2 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 17 Aug 2013 23:11:46 -0700 Subject: [PATCH] std: Make vec::push_all_move call reserve_at_least vec::unshift uses this to add elements, scheduler queues use unshift, and this was causing a lot of reallocation --- src/libstd/vec.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index f196cf423c13..10dc1b5409e5 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -1401,7 +1401,7 @@ impl OwnedVector for ~[T] { let self_len = self.len(); let rhs_len = rhs.len(); let new_len = self_len + rhs_len; - self.reserve(new_len); + self.reserve_at_least(new_len); unsafe { // Note: infallible. let self_p = vec::raw::to_mut_ptr(*self); let rhs_p = vec::raw::to_ptr(rhs);