@@ -461,11 +461,15 @@ impl<'a, K, V, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
461461
462462impl < ' a , K : ' a , V : ' a , Type > NodeRef < marker:: Immut < ' a > , K , V , Type > {
463463 fn into_key_slice ( self ) -> & ' a [ K ] {
464- unsafe { slice:: from_raw_parts ( MaybeUninit :: first_ptr ( & self . as_leaf ( ) . keys ) , self . len ( ) ) }
464+ unsafe {
465+ slice:: from_raw_parts ( MaybeUninit :: slice_as_ptr ( & self . as_leaf ( ) . keys ) , self . len ( ) )
466+ }
465467 }
466468
467469 fn into_val_slice ( self ) -> & ' a [ V ] {
468- unsafe { slice:: from_raw_parts ( MaybeUninit :: first_ptr ( & self . as_leaf ( ) . vals ) , self . len ( ) ) }
470+ unsafe {
471+ slice:: from_raw_parts ( MaybeUninit :: slice_as_ptr ( & self . as_leaf ( ) . vals ) , self . len ( ) )
472+ }
469473 }
470474}
471475
@@ -480,7 +484,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
480484 // SAFETY: The keys of a node must always be initialized up to length.
481485 unsafe {
482486 slice:: from_raw_parts_mut (
483- MaybeUninit :: first_ptr_mut ( & mut ( * self . as_leaf_mut ( ) ) . keys ) ,
487+ MaybeUninit :: slice_as_mut_ptr ( & mut ( * self . as_leaf_mut ( ) ) . keys ) ,
484488 self . len ( ) ,
485489 )
486490 }
@@ -490,7 +494,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
490494 // SAFETY: The values of a node must always be initialized up to length.
491495 unsafe {
492496 slice:: from_raw_parts_mut (
493- MaybeUninit :: first_ptr_mut ( & mut ( * self . as_leaf_mut ( ) ) . vals ) ,
497+ MaybeUninit :: slice_as_mut_ptr ( & mut ( * self . as_leaf_mut ( ) ) . vals ) ,
494498 self . len ( ) ,
495499 )
496500 }
@@ -506,10 +510,10 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
506510 let leaf = self . as_leaf_mut ( ) ;
507511 // SAFETY: The keys and values of a node must always be initialized up to length.
508512 let keys = unsafe {
509- slice:: from_raw_parts_mut ( MaybeUninit :: first_ptr_mut ( & mut ( * leaf) . keys ) , len)
513+ slice:: from_raw_parts_mut ( MaybeUninit :: slice_as_mut_ptr ( & mut ( * leaf) . keys ) , len)
510514 } ;
511515 let vals = unsafe {
512- slice:: from_raw_parts_mut ( MaybeUninit :: first_ptr_mut ( & mut ( * leaf) . vals ) , len)
516+ slice:: from_raw_parts_mut ( MaybeUninit :: slice_as_mut_ptr ( & mut ( * leaf) . vals ) , len)
513517 } ;
514518 ( keys, vals)
515519 }
@@ -588,7 +592,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::Internal> {
588592 slice_insert ( self . vals_mut ( ) , 0 , val) ;
589593 slice_insert (
590594 slice:: from_raw_parts_mut (
591- MaybeUninit :: first_ptr_mut ( & mut self . as_internal_mut ( ) . edges ) ,
595+ MaybeUninit :: slice_as_mut_ptr ( & mut self . as_internal_mut ( ) . edges ) ,
592596 self . len ( ) + 1 ,
593597 ) ,
594598 0 ,
@@ -646,7 +650,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::LeafOrInternal> {
646650 ForceResult :: Internal ( mut internal) => {
647651 let edge = slice_remove (
648652 slice:: from_raw_parts_mut (
649- MaybeUninit :: first_ptr_mut ( & mut internal. as_internal_mut ( ) . edges ) ,
653+ MaybeUninit :: slice_as_mut_ptr ( & mut internal. as_internal_mut ( ) . edges ) ,
650654 old_len + 1 ,
651655 ) ,
652656 0 ,
@@ -933,7 +937,7 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
933937
934938 slice_insert (
935939 slice:: from_raw_parts_mut (
936- MaybeUninit :: first_ptr_mut ( & mut self . node . as_internal_mut ( ) . edges ) ,
940+ MaybeUninit :: slice_as_mut_ptr ( & mut self . node . as_internal_mut ( ) . edges ) ,
937941 self . node . len ( ) ,
938942 ) ,
939943 self . idx + 1 ,
0 commit comments