@@ -50,7 +50,7 @@ impl <K: Eq Ord, V: Eq> TreeMap<K, V>: Eq {
50
50
} else {
51
51
let mut x = self . iter ( ) ;
52
52
let mut y = other. iter ( ) ;
53
- for self . len( ) . times unsafe { // unsafe used as a purity workaround
53
+ for self . len( ) . times unsafe { // unsafe as a purity workaround
54
54
// ICE: x.next() != y.next()
55
55
56
56
let ( x1, x2) = x. next( ) . unwrap( ) ;
@@ -216,7 +216,9 @@ impl <T: Ord> TreeSet<T> {
216
216
}
217
217
218
218
/// Return true if the set contains a value
219
- pure fn contains( & self , value: & T ) -> bool { self . map. contains_key( value) }
219
+ pure fn contains( & self , value: & T ) -> bool {
220
+ self . map. contains_key( value)
221
+ }
220
222
221
223
/// Add a value to the set. Return true if the value was not
222
224
/// already present in the set.
@@ -425,7 +427,8 @@ fn skew<K: Ord, V>(node: ~TreeNode<K, V>) -> ~TreeNode<K, V> {
425
427
// Remove dual horizontal link by rotating left and increasing level of
426
428
// the parent
427
429
fn split<K : Ord , V >( node: ~TreeNode <K , V >) -> ~TreeNode <K , V > {
428
- if node. right. map_default( false, |x| x. right. map_default( false , |y| y. level == node. level) ) {
430
+ if node. right. map_default( false,
431
+ |x| x. right. map_default( false , |y| y. level == node. level) ) {
429
432
let mut node = node;
430
433
let mut save = node. right. swap_unwrap( ) ;
431
434
node. right <-> save. left; // save.left now None
@@ -501,20 +504,10 @@ fn remove<K: Ord, V>(node: &mut Option<~TreeNode<K, V>>, key: &K) -> bool {
501
504
remove( & mut save. left, key) ;
502
505
}
503
506
} else {
504
- let mut rm = save. left. swap_unwrap( ) ;
505
- save. key <-> rm. key;
506
- save. value <-> rm. value;
507
- save. level <-> rm. level; // FIXME: may not be needed
508
- save. left <-> rm. left; // FIXME: may not be needed
509
- save. right <-> rm. right; // FIXME: may not be needed
507
+ save = save. left. swap_unwrap( ) ;
510
508
}
511
509
} else if save. right. is_some( ) {
512
- let mut rm = save. right. swap_unwrap( ) ;
513
- save. key <-> rm. key;
514
- save. value <-> rm. value;
515
- save. level <-> rm. level; // FIXME: may not be needed
516
- save. left <-> rm. left; // FIXME: may not be needed
517
- save. right <-> rm. right; // FIXME: may not be needed
510
+ save = save. right. swap_unwrap( ) ;
518
511
} else {
519
512
return true // leaf
520
513
}
@@ -615,7 +608,8 @@ mod test_treemap {
615
608
}
616
609
}
617
610
618
- fn check_left<K : Ord , V >( node: & Option <~TreeNode <K , V >>, parent: & ~TreeNode <K , V >) {
611
+ fn check_left<K : Ord , V >( node: & Option <~TreeNode <K , V >>,
612
+ parent: & ~TreeNode <K , V >) {
619
613
match * node {
620
614
Some ( ref r) => {
621
615
assert r. key < parent. key;
@@ -634,7 +628,7 @@ mod test_treemap {
634
628
assert r. key > parent. key;
635
629
let red = r. level == parent. level;
636
630
if parent_red { assert !red } // no dual horizontal links
637
- assert red || r. level == parent. level - 1 ; // right is red or black
631
+ assert red || r. level == parent. level - 1 ; // right red or black
638
632
check_left( & r. left, r) ;
639
633
check_right( & r. right, r, red) ;
640
634
}
0 commit comments