@@ -365,12 +365,12 @@ impl<K: Clone + Ord, V: Clone> Leaf<K, V> {
365365 return ( Node :: new_leaf ( self . clone ( ) . elts ) , false ) ;
366366 }
367367 //If there is an index, insert at that index.
368- _ => {
369- if index . unwrap ( ) >= self . elts . len ( ) {
368+ Some ( i ) => {
369+ if i >= self . elts . len ( ) {
370370 self . elts . push ( to_insert. clone ( ) ) ;
371371 }
372372 else {
373- self . elts . insert ( index . unwrap ( ) , to_insert. clone ( ) ) ;
373+ self . elts . insert ( i , to_insert. clone ( ) ) ;
374374 }
375375 }
376376 }
@@ -526,16 +526,16 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
526526 self . clone ( ) . rightmost_child ) ,
527527 outcome) ;
528528 }
529- _ => {
530- if index . unwrap ( ) == self . elts . len ( ) {
529+ Some ( i ) => {
530+ if i == self . elts . len ( ) {
531531 let new_outcome = self . clone ( ) . rightmost_child . insert ( k. clone ( ) ,
532532 v. clone ( ) ,
533533 ub. clone ( ) ) ;
534534 new_branch = new_outcome. clone ( ) . val0 ( ) ;
535535 outcome = new_outcome. val1 ( ) ;
536536 }
537537 else {
538- let new_outcome = self . elts . get ( index . unwrap ( ) ) . left . clone ( ) . insert ( k. clone ( ) ,
538+ let new_outcome = self . elts . get ( i ) . left . clone ( ) . insert ( k. clone ( ) ,
539539 v. clone ( ) ,
540540 ub. clone ( ) ) ;
541541 new_branch = new_outcome. clone ( ) . val0 ( ) ;
@@ -547,11 +547,11 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
547547 //If we have a leaf, we do not need to resize the tree,
548548 //so we can return false.
549549 LeafNode ( ..) => {
550- if index . unwrap ( ) == self . elts . len ( ) {
550+ if i == self . elts . len ( ) {
551551 self . rightmost_child = box new_branch. clone ( ) ;
552552 }
553553 else {
554- self . elts . get_mut ( index . unwrap ( ) ) . left = box new_branch. clone ( ) ;
554+ self . elts . get_mut ( i ) . left = box new_branch. clone ( ) ;
555555 }
556556 return ( Node :: new_branch ( self . clone ( ) . elts ,
557557 self . clone ( ) . rightmost_child ) ,
@@ -589,13 +589,13 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
589589 self . clone ( ) . rightmost_child ) ,
590590 false ) ;
591591 }
592- _ => {
593- self . elts . insert ( new_elt_index . unwrap ( ) , new_elt) ;
594- if new_elt_index . unwrap ( ) + 1 >= self . elts . len ( ) {
592+ Some ( i ) => {
593+ self . elts . insert ( i , new_elt) ;
594+ if i + 1 >= self . elts . len ( ) {
595595 self . rightmost_child = branch. clone ( ) . rightmost_child ;
596596 }
597597 else {
598- self . elts . get_mut ( new_elt_index . unwrap ( ) + 1 ) . left =
598+ self . elts . get_mut ( i + 1 ) . left =
599599 branch. clone ( ) . rightmost_child ;
600600 }
601601 }
0 commit comments