about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-01-29 15:48:18 -0500
committerDaniel Micay <danielmicay@gmail.com>2013-01-29 21:30:55 -0500
commita388e2c1a49ccb238741e01b9a53aac0f1bf7795 (patch)
treee32f12beab6db72f2de29f59ca50e65d0635de88 /src/libstd
parent3c02e2b61e456c5e63d8d6fb4764596304d14586 (diff)
treemap: rm a bit of redundant code
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/treemap.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/libstd/treemap.rs b/src/libstd/treemap.rs
index 82090f8dd62..938c4cc4ed5 100644
--- a/src/libstd/treemap.rs
+++ b/src/libstd/treemap.rs
@@ -652,14 +652,12 @@ fn remove<K: Ord, V>(node: &mut Option<~TreeNode<K, V>>, key: &K) -> bool {
                     let mut left = save.left.swap_unwrap();
                     if left.right.is_some() {
                         heir_swap(save, &mut left.right);
-                        save.left = Some(left);
-                        remove(&mut save.left, key);
                     } else {
                         save.key <-> left.key;
                         save.value <-> left.value;
-                        save.left = Some(left);
-                        remove(&mut save.left, key);
                     }
+                    save.left = Some(left);
+                    remove(&mut save.left, key);
                 } else {
                     save = save.left.swap_unwrap();
                 }