diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-03-14 23:16:15 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-03-14 23:44:25 -0400 |
| commit | a49ccee68efc7ec05e882e5929669108f65f74fa (patch) | |
| tree | a860b1e2dcc9a305930c111472f970c17752b3a5 /src/libstd | |
| parent | c3fe0b97de67e0449aa20cd8ef683fb594bb3ffd (diff) | |
| download | rust-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.rs | 19 |
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)] |
