about summary refs log tree commit diff
path: root/src/libstd/deque.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/deque.rs')
-rw-r--r--src/libstd/deque.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libstd/deque.rs b/src/libstd/deque.rs
index 4eb359e48a8..c94acaa1f70 100644
--- a/src/libstd/deque.rs
+++ b/src/libstd/deque.rs
@@ -10,6 +10,8 @@
 
 //! A double-ended queue implemented as a circular buffer
 
+use core::util::replace;
+
 static initial_capacity: uint = 32u; // 2^5
 
 pub struct Deque<T> {
@@ -142,9 +144,7 @@ fn grow<T>(nelts: uint, lo: uint, elts: &mut [Option<T>]) -> ~[Option<T>] {
     let mut rv = ~[];
 
     do rv.grow_fn(nelts + 1) |i| {
-        let mut element = None;
-        element <-> elts[(lo + i) % nelts];
-        element
+        replace(&mut elts[(lo + i) % nelts], None)
     }
 
     rv