From 2b6614f2e610e1bfdd45c236dd071a72673980c8 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Fri, 15 Mar 2013 14:14:03 -0400 Subject: [PATCH] treemap: use each_mut instead of mutate --- src/libstd/treemap.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libstd/treemap.rs b/src/libstd/treemap.rs index f51df08e659..8e204014975 100644 --- a/src/libstd/treemap.rs +++ b/src/libstd/treemap.rs @@ -636,14 +636,13 @@ fn remove(node: &mut Option<~TreeNode>, fn heir_swap(node: &mut ~TreeNode, child: &mut Option<~TreeNode>) { // *could* be done without recursion, but it won't borrow check - do child.mutate |mut child| { - if child.right.is_some() { - heir_swap(node, &mut child.right); + for child.each_mut |x| { + if x.right.is_some() { + heir_swap(node, &mut x.right); } else { - node.key <-> child.key; - node.value <-> child.value; + node.key <-> x.key; + node.value <-> x.value; } - child } } @@ -689,7 +688,7 @@ fn remove(node: &mut Option<~TreeNode>, save.level -= 1; if right_level > save.level { - do save.right.mutate |mut x| { x.level = save.level; x } + for save.right.each_mut |x| { x.level = save.level } } skew(save);