@@ -474,11 +474,15 @@ impl<'a, K, V, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
474474
475475impl < ' a , K : ' a , V : ' a , Type > NodeRef < marker:: Immut < ' a > , K , V , Type > {
476476 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+ }
478480 }
479481
480482 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+ }
482486 }
483487}
484488
@@ -493,7 +497,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
493497 // SAFETY: The keys of a node must always be initialized up to length.
494498 unsafe {
495499 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 ) ,
497501 self . len ( ) ,
498502 )
499503 }
@@ -503,7 +507,7 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
503507 // SAFETY: The values of a node must always be initialized up to length.
504508 unsafe {
505509 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 ) ,
507511 self . len ( ) ,
508512 )
509513 }
@@ -519,10 +523,10 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
519523 let leaf = self . as_leaf_mut ( ) ;
520524 // SAFETY: The keys and values of a node must always be initialized up to length.
521525 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)
523527 } ;
524528 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)
526530 } ;
527531 ( keys, vals)
528532 }
@@ -536,9 +540,9 @@ impl<'a, K: 'a, V: 'a, Type> NodeRef<marker::ValMut<'a>, K, V, Type> {
536540 let len = self . len ( ) ;
537541 let leaf = self . node . as_ptr ( ) ;
538542 // 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) } ;
540544 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)
542546 } ;
543547 ( keys, vals)
544548 }
@@ -617,7 +621,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::Internal> {
617621 slice_insert ( self . vals_mut ( ) , 0 , val) ;
618622 slice_insert (
619623 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 ) ,
621625 self . len ( ) + 1 ,
622626 ) ,
623627 0 ,
@@ -675,7 +679,7 @@ impl<'a, K, V> NodeRef<marker::Mut<'a>, K, V, marker::LeafOrInternal> {
675679 ForceResult :: Internal ( mut internal) => {
676680 let edge = slice_remove (
677681 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 ) ,
679683 old_len + 1 ,
680684 ) ,
681685 0 ,
@@ -962,7 +966,7 @@ impl<'a, K, V> Handle<NodeRef<marker::Mut<'a>, K, V, marker::Internal>, marker::
962966
963967 slice_insert (
964968 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 ) ,
966970 self . node . len ( ) ,
967971 ) ,
968972 self . idx + 1 ,
0 commit comments