diff options
| author | blake2-ppc <blake2-ppc> | 2013-07-17 23:41:50 +0200 |
|---|---|---|
| committer | Ben Blum <bblum@andrew.cmu.edu> | 2013-07-20 05:12:05 -0400 |
| commit | 980646a4501a9622db40d3519a8f6db98f4359a1 (patch) | |
| tree | 42e0481bb567d8fcf783b1ae7310abbddf3a9c19 /src/libextra | |
| parent | 621bc79d0de970ecb5373d3dc8b58ef919dc6025 (diff) | |
| download | rust-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.rs | 2 | ||||
| -rw-r--r-- | src/libextra/ringbuf.rs | 5 | ||||
| -rw-r--r-- | src/libextra/smallintmap.rs | 2 | ||||
| -rw-r--r-- | src/libextra/treemap.rs | 2 | ||||
| -rw-r--r-- | src/libextra/workcache.rs | 5 |
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!(), |
