@@ -365,12 +365,12 @@ impl<K: Clone + Ord, V: Clone> Leaf<K, V> {
365
365
return ( Node :: new_leaf ( self . clone ( ) . elts ) , false ) ;
366
366
}
367
367
//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 ( ) {
370
370
self . elts . push ( to_insert. clone ( ) ) ;
371
371
}
372
372
else {
373
- self . elts . insert ( index . unwrap ( ) , to_insert. clone ( ) ) ;
373
+ self . elts . insert ( i , to_insert. clone ( ) ) ;
374
374
}
375
375
}
376
376
}
@@ -526,16 +526,16 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
526
526
self . clone ( ) . rightmost_child ) ,
527
527
outcome) ;
528
528
}
529
- _ => {
530
- if index . unwrap ( ) == self . elts . len ( ) {
529
+ Some ( i ) => {
530
+ if i == self . elts . len ( ) {
531
531
let new_outcome = self . clone ( ) . rightmost_child . insert ( k. clone ( ) ,
532
532
v. clone ( ) ,
533
533
ub. clone ( ) ) ;
534
534
new_branch = new_outcome. clone ( ) . val0 ( ) ;
535
535
outcome = new_outcome. val1 ( ) ;
536
536
}
537
537
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 ( ) ,
539
539
v. clone ( ) ,
540
540
ub. clone ( ) ) ;
541
541
new_branch = new_outcome. clone ( ) . val0 ( ) ;
@@ -547,11 +547,11 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
547
547
//If we have a leaf, we do not need to resize the tree,
548
548
//so we can return false.
549
549
LeafNode ( ..) => {
550
- if index . unwrap ( ) == self . elts . len ( ) {
550
+ if i == self . elts . len ( ) {
551
551
self . rightmost_child = box new_branch. clone ( ) ;
552
552
}
553
553
else {
554
- self . elts . get_mut ( index . unwrap ( ) ) . left = box new_branch. clone ( ) ;
554
+ self . elts . get_mut ( i ) . left = box new_branch. clone ( ) ;
555
555
}
556
556
return ( Node :: new_branch ( self . clone ( ) . elts ,
557
557
self . clone ( ) . rightmost_child ) ,
@@ -589,13 +589,13 @@ impl<K: Clone + Ord, V: Clone> Branch<K, V> {
589
589
self . clone ( ) . rightmost_child ) ,
590
590
false ) ;
591
591
}
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 ( ) {
595
595
self . rightmost_child = branch. clone ( ) . rightmost_child ;
596
596
}
597
597
else {
598
- self . elts . get_mut ( new_elt_index . unwrap ( ) + 1 ) . left =
598
+ self . elts . get_mut ( i + 1 ) . left =
599
599
branch. clone ( ) . rightmost_child ;
600
600
}
601
601
}
0 commit comments