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(node: &mut Option<~TreeNode>, 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(); }