about summary refs log tree commit diff
path: root/src/libextra
diff options
context:
space:
mode:
authorblake2-ppc <blake2-ppc>2013-07-17 23:41:50 +0200
committerBen Blum <bblum@andrew.cmu.edu>2013-07-20 05:12:05 -0400
commit980646a4501a9622db40d3519a8f6db98f4359a1 (patch)
tree42e0481bb567d8fcf783b1ae7310abbddf3a9c19 /src/libextra
parent621bc79d0de970ecb5373d3dc8b58ef919dc6025 (diff)
downloadrust-980646a4501a9622db40d3519a8f6db98f4359a1.tar.gz
rust-980646a4501a9622db40d3519a8f6db98f4359a1.zip
Use Option .take() or .take_unwrap() instead of util::replace where possible
Diffstat (limited to 'src/libextra')
-rw-r--r--src/libextra/dlist.rs2
-rw-r--r--src/libextra/ringbuf.rs5
-rw-r--r--src/libextra/smallintmap.rs2
-rw-r--r--src/libextra/treemap.rs2
-rw-r--r--src/libextra/workcache.rs5
5 files changed, 7 insertions, 9 deletions
diff --git a/src/libextra/dlist.rs b/src/libextra/dlist.rs
index 840b4127577..c42eba1ffa2 100644
--- a/src/libextra/dlist.rs
+++ b/src/libextra/dlist.rs
@@ -208,7 +208,7 @@ impl<T> Deque<T> for DList<T> {
     ///
     /// O(1)
     fn pop_front(&mut self) -> Option<T> {
-        match util::replace(&mut self.list_head, None) {
+        match self.list_head.take() {
             None => None,
             Some(old_head) => {
                 self.length -= 1;
diff --git a/src/libextra/ringbuf.rs b/src/libextra/ringbuf.rs
index 6f8ca6500c6..f46af664b18 100644
--- a/src/libextra/ringbuf.rs
+++ b/src/libextra/ringbuf.rs
@@ -14,7 +14,6 @@
 //! extra::container::Deque`.
 
 use std::num;
-use std::util;
 use std::uint;
 use std::vec;
 use std::iterator::{FromIterator, InvertIterator};
@@ -72,7 +71,7 @@ impl<T> Deque<T> for RingBuf<T> {
 
     /// Remove and return the first element in the RingBuf, or None if it is empty
     fn pop_front(&mut self) -> Option<T> {
-        let result = util::replace(&mut self.elts[self.lo], None);
+        let result = self.elts[self.lo].take();
         if result.is_some() {
             self.lo = (self.lo + 1u) % self.elts.len();
             self.nelts -= 1u;
@@ -85,7 +84,7 @@ impl<T> Deque<T> for RingBuf<T> {
         if self.nelts > 0 {
             self.nelts -= 1;
             let hi = self.raw_index(self.nelts);
-            util::replace(&mut self.elts[hi], None)
+            self.elts[hi].take()
         } else {
             None
         }
diff --git a/src/libextra/smallintmap.rs b/src/libextra/smallintmap.rs
index 6ad4d2acd90..6ff219a4f8f 100644
--- a/src/libextra/smallintmap.rs
+++ b/src/libextra/smallintmap.rs
@@ -118,7 +118,7 @@ impl<V> MutableMap<uint, V> for SmallIntMap<V> {
         if *key >= self.v.len() {
             return None;
         }
-        replace(&mut self.v[*key], None)
+        self.v[*key].take()
     }
 }
 
diff --git a/src/libextra/treemap.rs b/src/libextra/treemap.rs
index 1e6d38b9a1f..7e0cb76b515 100644
--- a/src/libextra/treemap.rs
+++ b/src/libextra/treemap.rs
@@ -697,7 +697,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
         }
       }
     }
-    return match replace(node, None) {
+    return match node.take() {
         Some(~TreeNode{value, _}) => Some(value), None => fail!()
     };
 }
diff --git a/src/libextra/workcache.rs b/src/libextra/workcache.rs
index 99cf8c6912c..ea13f331999 100644
--- a/src/libextra/workcache.rs
+++ b/src/libextra/workcache.rs
@@ -27,7 +27,6 @@ use std::result;
 use std::run;
 use std::task;
 use std::to_bytes;
-use std::util::replace;
 
 /**
 *
@@ -353,7 +352,7 @@ impl TPrep for Prep {
 
             _ => {
                 let (port, chan) = oneshot();
-                let blk = replace(&mut bo, None).unwrap();
+                let blk = bo.take_unwrap();
                 let chan = Cell::new(chan);
 
                 do task::spawn {
@@ -385,7 +384,7 @@ fn unwrap<T:Send +
             Decodable<json::Decoder>>( // FIXME(#5121)
         w: Work<T>) -> T {
     let mut ww = w;
-    let s = replace(&mut ww.res, None);
+    let s = ww.res.take();
 
     match s {
         None => fail!(),