about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-03-14 23:16:15 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-03-14 23:44:25 -0400
commita49ccee68efc7ec05e882e5929669108f65f74fa (patch)
treea860b1e2dcc9a305930c111472f970c17752b3a5 /src/libstd
parentc3fe0b97de67e0449aa20cd8ef683fb594bb3ffd (diff)
downloadrust-a49ccee68efc7ec05e882e5929669108f65f74fa.tar.gz
rust-a49ccee68efc7ec05e882e5929669108f65f74fa.zip
MutableIter impl for Option + use it in treemap
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/treemap.rs19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/libstd/treemap.rs b/src/libstd/treemap.rs
index 8d4ff994195..e0c60c72ca7 100644
--- a/src/libstd/treemap.rs
+++ b/src/libstd/treemap.rs
@@ -72,7 +72,7 @@ pure fn lt<K: Ord + TotalOrd, V>(a: &TreeMap<K, V>,
         }
     };
 
-    return a_len < b_len;
+    a_len < b_len
 }
 
 impl<K: Ord + TotalOrd, V> Ord for TreeMap<K, V> {
@@ -694,22 +694,13 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
 
                 skew(save);
 
-                match save.right {
-                  Some(ref mut right) => {
+                for save.right.each_mut |right| {
                     skew(right);
-                    match right.right {
-                      Some(ref mut x) => { skew(x) },
-                      None => ()
-                    }
-                  }
-                  None => ()
+                    for right.right.each_mut |x| { skew(x) }
                 }
 
                 split(save);
-                match save.right {
-                  Some(ref mut x) => { split(x) },
-                  None => ()
-                }
+                for save.right.each_mut |x| { split(x) }
             }
 
             return removed;
@@ -718,7 +709,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
     }
 
     *node = None;
-    return true;
+    true
 }
 
 #[cfg(test)]