@@ -46,7 +46,7 @@ impl<K: Ord, V, const N: usize> RedBlackTree<K,V,N> {
4646 }
4747
4848 #[ inline( always) ]
49- pub fn search ( & self , key : K ) -> Option < & V > {
49+ pub fn search ( & self , key : & K ) -> Option < & V > {
5050 let x = self . get_index_by_key ( & key) ;
5151 if x == SENTINEL {
5252 return None ;
@@ -585,20 +585,20 @@ mod tests {
585585 #[ test]
586586 fn test_insert_and_search ( ) {
587587 let tree = setup_small_tree ( ) ;
588- assert_eq ! ( tree. search( 10 ) , Some ( & "A" ) ) ;
589- assert_eq ! ( tree. search( 20 ) , Some ( & "B" ) ) ;
590- assert_eq ! ( tree. search( 5 ) , Some ( & "C" ) ) ;
591- assert_eq ! ( tree. search( 30 ) , None ) ;
588+ assert_eq ! ( tree. search( & 10 ) , Some ( & "A" ) ) ;
589+ assert_eq ! ( tree. search( & 20 ) , Some ( & "B" ) ) ;
590+ assert_eq ! ( tree. search( & 5 ) , Some ( & "C" ) ) ;
591+ assert_eq ! ( tree. search( & 30 ) , None ) ;
592592 assert ! ( tree. is_valid( ) ) ;
593593 }
594594
595595 #[ test]
596596 fn test_remove_leaf_node ( ) {
597597 let mut tree = setup_small_tree ( ) ;
598598 tree. remove ( 5 ) ;
599- assert_eq ! ( tree. search( 5 ) , None ) ;
600- assert_eq ! ( tree. search( 10 ) , Some ( & "A" ) ) ;
601- assert_eq ! ( tree. search( 20 ) , Some ( & "B" ) ) ;
599+ assert_eq ! ( tree. search( & 5 ) , None ) ;
600+ assert_eq ! ( tree. search( & 10 ) , Some ( & "A" ) ) ;
601+ assert_eq ! ( tree. search( & 20 ) , Some ( & "B" ) ) ;
602602 assert ! ( tree. is_valid( ) ) ;
603603 }
604604
@@ -610,8 +610,8 @@ mod tests {
610610 tree. insert ( 2 , "C" ) ;
611611
612612 tree. remove ( 5 ) ;
613- assert_eq ! ( tree. search( 5 ) , None ) ;
614- assert_eq ! ( tree. search( 2 ) , Some ( & "C" ) ) ;
613+ assert_eq ! ( tree. search( & 5 ) , None ) ;
614+ assert_eq ! ( tree. search( & 2 ) , Some ( & "C" ) ) ;
615615 assert ! ( tree. is_valid( ) ) ;
616616 }
617617
@@ -625,9 +625,9 @@ mod tests {
625625 tree. insert ( 18 , "E" ) ;
626626
627627 tree. remove ( 15 ) ;
628- assert_eq ! ( tree. search( 15 ) , None ) ;
629- assert_eq ! ( tree. search( 12 ) , Some ( & "D" ) ) ;
630- assert_eq ! ( tree. search( 18 ) , Some ( & "E" ) ) ;
628+ assert_eq ! ( tree. search( & 15 ) , None ) ;
629+ assert_eq ! ( tree. search( & 12 ) , Some ( & "D" ) ) ;
630+ assert_eq ! ( tree. search( & 18 ) , Some ( & "E" ) ) ;
631631 assert ! ( tree. is_valid( ) ) ;
632632 }
633633
@@ -638,7 +638,7 @@ mod tests {
638638 tree. remove ( 42 ) ;
639639 tree. insert ( 42 , "Y" ) ;
640640
641- assert_eq ! ( tree. search( 42 ) , Some ( & "Y" ) ) ;
641+ assert_eq ! ( tree. search( & 42 ) , Some ( & "Y" ) ) ;
642642 assert ! ( tree. is_valid( ) ) ;
643643 }
644644
@@ -650,11 +650,11 @@ mod tests {
650650 tree. insert ( i, i * 10 ) ;
651651 }
652652 for i in 0 ..100 {
653- assert_eq ! ( tree. search( i) , Some ( & ( i * 10 ) ) ) ;
653+ assert_eq ! ( tree. search( & i) , Some ( & ( i * 10 ) ) ) ;
654654 }
655655 for i in 0 ..100 {
656656 tree. remove ( i) ;
657- assert_eq ! ( tree. search( i) , None ) ;
657+ assert_eq ! ( tree. search( & i) , None ) ;
658658 }
659659 assert ! ( tree. is_valid( ) ) ;
660660 }
@@ -670,10 +670,10 @@ mod tests {
670670 tree. remove ( 70 ) ;
671671
672672 for & k in & [ 30 , 70 ] {
673- assert_eq ! ( tree. search( k) , None ) ;
673+ assert_eq ! ( tree. search( & k) , None ) ;
674674 }
675675 for & k in & [ 20 , 40 , 60 , 80 ] {
676- assert_eq ! ( tree. search( k) , Some ( & k) ) ;
676+ assert_eq ! ( tree. search( & k) , Some ( & k) ) ;
677677 }
678678 assert ! ( tree. is_valid( ) ) ;
679679 }
@@ -696,13 +696,13 @@ mod tests {
696696 tree. insert ( k, k + 123 ) ;
697697 }
698698 for & k in & keys {
699- assert_eq ! ( tree. search( k) , Some ( & ( k + 123 ) ) ) ;
699+ assert_eq ! ( tree. search( & k) , Some ( & ( k + 123 ) ) ) ;
700700 }
701701
702702 keys. shuffle ( & mut rng) ;
703703 for & k in & keys {
704704 tree. remove ( k) ;
705- assert_eq ! ( tree. search( k) , None ) ;
705+ assert_eq ! ( tree. search( & k) , None ) ;
706706 }
707707
708708 assert_eq ! ( tree. root, SENTINEL ) ;
@@ -718,11 +718,11 @@ mod tests {
718718 tree. insert ( i, i) ;
719719 }
720720 for i in 0 ..COUNT {
721- assert_eq ! ( tree. search( i) , Some ( & i) ) ;
721+ assert_eq ! ( tree. search( & i) , Some ( & i) ) ;
722722 }
723723 for i in 0 ..COUNT {
724724 tree. remove ( i) ;
725- assert_eq ! ( tree. search( i) , None ) ;
725+ assert_eq ! ( tree. search( & i) , None ) ;
726726 }
727727
728728 assert_eq ! ( tree. root, SENTINEL ) ;
@@ -738,10 +738,10 @@ mod tests {
738738 }
739739 for i in 0 ..5_000 {
740740 tree. remove ( i) ;
741- assert_eq ! ( tree. search( i) , None ) ;
741+ assert_eq ! ( tree. search( & i) , None ) ;
742742 }
743743 for i in 5_000 ..10_000 {
744- assert_eq ! ( tree. search( i) , Some ( & i) ) ;
744+ assert_eq ! ( tree. search( & i) , Some ( & i) ) ;
745745 }
746746 }
747747
@@ -753,8 +753,8 @@ mod tests {
753753 tree. update ( 42 , "updated" ) ;
754754 tree. update ( 100 , "new" ) ;
755755
756- assert_eq ! ( tree. search( 42 ) , Some ( & "updated" ) ) ;
757- assert_eq ! ( tree. search( 100 ) , Some ( & "new" ) ) ;
756+ assert_eq ! ( tree. search( & 42 ) , Some ( & "updated" ) ) ;
757+ assert_eq ! ( tree. search( & 100 ) , Some ( & "new" ) ) ;
758758 assert ! ( tree. is_valid( ) ) ;
759759 }
760760}
0 commit comments