@@ -474,11 +474,15 @@ impl<'a, K, V, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
474
474
475
475
impl < ' a , K : ' a , V : ' a , Type > NodeRef < marker:: Immut < ' a > , K , V , Type > {
476
476
fn into_key_slice ( self ) -> & ' a [ K ] {
477
- unsafe { slice:: from_raw_parts ( MaybeUninit :: first_ptr ( & self . as_leaf ( ) . keys ) , self . len ( ) ) }
477
+ unsafe {
478
+ slice:: from_raw_parts ( MaybeUninit :: slice_as_ptr ( & self . as_leaf ( ) . keys ) , self . len ( ) )
479
+ }
478
480
}
479
481
480
482
fn into_val_slice ( self ) -> & ' a [ V ] {
481
- unsafe { slice:: from_raw_parts ( MaybeUninit :: first_ptr ( & self . as_leaf ( ) . vals ) , self . len ( ) ) }
483
+ unsafe {
484
+ slice:: from_raw_parts ( MaybeUninit :: slice_as_ptr ( & self . as_leaf ( ) . vals ) , self . len ( ) )
485
+ }
482
486
}
483
487
}
484
488
@@ -493,7 +497,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
493
497
// SAFETY: The keys of a node must always be initialized up to length.
494
498
unsafe {
495
499
slice:: from_raw_parts_mut (
496
- MaybeUninit :: first_ptr_mut ( & mut ( * self . as_leaf_mut ( ) ) . keys ) ,
500
+ MaybeUninit :: slice_as_mut_ptr ( & mut ( * self . as_leaf_mut ( ) ) . keys ) ,
497
501
self . len ( ) ,
498
502
)
499
503
}
@@ -503,7 +507,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
503
507
// SAFETY: The values of a node must always be initialized up to length.
504
508
unsafe {
505
509
slice:: from_raw_parts_mut (
506
- MaybeUninit :: first_ptr_mut ( & mut ( * self . as_leaf_mut ( ) ) . vals ) ,
510
+ MaybeUninit :: slice_as_mut_ptr ( & mut ( * self . as_leaf_mut ( ) ) . vals ) ,
507
511
self . len ( ) ,
508
512
)
509
513
}
@@ -519,10 +523,10 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
519
523
let leaf = self . as_leaf_mut ( ) ;
520
524
// SAFETY: The keys and values of a node must always be initialized up to length.
521
525
let keys = unsafe {
522
- slice:: from_raw_parts_mut ( MaybeUninit :: first_ptr_mut ( & mut ( * leaf) . keys ) , len)
526
+ slice:: from_raw_parts_mut ( MaybeUninit :: slice_as_mut_ptr ( & mut ( * leaf) . keys ) , len)
523
527
} ;
524
528
let vals = unsafe {
525
- slice:: from_raw_parts_mut ( MaybeUninit :: first_ptr_mut ( & mut ( * leaf) . vals ) , len)
529
+ slice:: from_raw_parts_mut ( MaybeUninit :: slice_as_mut_ptr ( & mut ( * leaf) . vals ) , len)
526
530
} ;
527
531
( keys, vals)
528
532
}
@@ -536,9 +540,9 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::ValMut<'a>, K, V, Type> {
536
540
let len = self . len ( ) ;
537
541
let leaf = self . node . as_ptr ( ) ;
538
542
// SAFETY: The keys and values of a node must always be initialized up to length.
539
- let keys = unsafe { slice:: from_raw_parts ( MaybeUninit :: first_ptr ( & ( * leaf) . keys ) , len) } ;
543
+ let keys = unsafe { slice:: from_raw_parts ( MaybeUninit :: slice_as_ptr ( & ( * leaf) . keys ) , len) } ;
540
544
let vals = unsafe {
541
- slice:: from_raw_parts_mut ( MaybeUninit :: first_ptr_mut ( & mut ( * leaf) . vals ) , len)
545
+ slice:: from_raw_parts_mut ( MaybeUninit :: slice_as_mut_ptr ( & mut ( * leaf) . vals ) , len)
542
546
} ;
543
547
( keys, vals)
544
548
}
@@ -617,7 +621,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::Internal> {
617
621
slice_insert ( self . vals_mut ( ) , 0 , val) ;
618
622
slice_insert (
619
623
slice:: from_raw_parts_mut (
620
- MaybeUninit :: first_ptr_mut ( & mut self . as_internal_mut ( ) . edges ) ,
624
+ MaybeUninit :: slice_as_mut_ptr ( & mut self . as_internal_mut ( ) . edges ) ,
621
625
self . len ( ) + 1 ,
622
626
) ,
623
627
0 ,
@@ -675,7 +679,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::LeafOrInternal> {
675
679
ForceResult :: Internal ( mut internal) => {
676
680
let edge = slice_remove (
677
681
slice:: from_raw_parts_mut (
678
- MaybeUninit :: first_ptr_mut ( & mut internal. as_internal_mut ( ) . edges ) ,
682
+ MaybeUninit :: slice_as_mut_ptr ( & mut internal. as_internal_mut ( ) . edges ) ,
679
683
old_len + 1 ,
680
684
) ,
681
685
0 ,
@@ -962,7 +966,7 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
962
966
963
967
slice_insert (
964
968
slice:: from_raw_parts_mut (
965
- MaybeUninit :: first_ptr_mut ( & mut self . node . as_internal_mut ( ) . edges ) ,
969
+ MaybeUninit :: slice_as_mut_ptr ( & mut self . node . as_internal_mut ( ) . edges ) ,
966
970
self . node . len ( ) ,
967
971
) ,
968
972
self . idx + 1 ,
0 commit comments