about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2014-08-18 17:52:38 -0700
committerAaron Turon <aturon@mozilla.com>2014-08-28 09:12:54 -0700
commit276b8b125d3f60cebab702542b60207429fbb333 (patch)
tree022549e5a1b801df28b222d3bcd37194b997b849 /src/libcore
parent3a52ef4613f85fba1ecfd8746388bf34a5499bf9 (diff)
Fallout from stabilizing core::option
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/cell.rs2
-rw-r--r--src/libcore/iter.rs7
-rw-r--r--src/libcore/option.rs4
3 files changed, 9 insertions, 4 deletions
diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs
index 2a7b1630edf..c24db837671 100644
--- a/src/libcore/cell.rs
+++ b/src/libcore/cell.rs
@@ -99,7 +99,7 @@
 //!             // Take a reference to the inside of cache cell
 //!             let mut cache = self.span_tree_cache.borrow_mut();
 //!             if cache.is_some() {
-//!                 return cache.get_ref().clone();
+//!                 return cache.as_ref().unwrap().clone();
 //!             }
 //!
 //!             let span_tree = self.calc_span_tree();
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs
index b2bd8d46fb5..580d45ee8a6 100644
--- a/src/libcore/iter.rs
+++ b/src/libcore/iter.rs
@@ -2191,7 +2191,12 @@ pub fn iterate<'a, T: Clone>(f: |T|: 'a -> T, seed: T) -> Iterate<'a, T> {
         if *first {
             *first = false;
         } else {
-            val.mutate(|x| (*f)(x));
+            match val.take() {
+                Some(x) => {
+                    *val = Some((*f)(x))
+                }
+                None => {}
+            }
         }
         val.clone()
     })
diff --git a/src/libcore/option.rs b/src/libcore/option.rs
index dbcd943dae6..537d78a67fe 100644
--- a/src/libcore/option.rs
+++ b/src/libcore/option.rs
@@ -341,7 +341,7 @@ impl<T> Option<T> {
     #[deprecated = "removed due to lack of use"]
     pub fn mutate(&mut self, f: |T| -> T) -> bool {
         if self.is_some() {
-            *self = Some(f(self.take_unwrap()));
+            *self = Some(f(self.take().unwrap()));
             true
         } else { false }
     }
@@ -353,7 +353,7 @@ impl<T> Option<T> {
     #[deprecated = "removed due to lack of use"]
     pub fn mutate_or_set(&mut self, def: T, f: |T| -> T) -> bool {
         if self.is_some() {
-            *self = Some(f(self.take_unwrap()));
+            *self = Some(f(self.take().unwrap()));
             true
         } else {
             *self = Some(def);