@@ -204,12 +204,12 @@ impl Global {
204204 #[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
205205 fn alloc_impl_runtime ( layout : Layout , zeroed : bool ) -> Result < NonNull < [ u8 ] > , AllocError > {
206206 match layout. size ( ) {
207- 0 => Ok ( NonNull :: slice_from_raw_parts ( layout. dangling_ptr ( ) , 0 ) ) ,
207+ 0 => Ok ( layout. dangling_ptr ( ) . cast_slice ( 0 ) ) ,
208208 // SAFETY: `layout` is non-zero in size,
209209 size => unsafe {
210210 let raw_ptr = if zeroed { alloc_zeroed ( layout) } else { alloc ( layout) } ;
211211 let ptr = NonNull :: new ( raw_ptr) . ok_or ( AllocError ) ?;
212- Ok ( NonNull :: slice_from_raw_parts ( ptr, size) )
212+ Ok ( ptr. cast_slice ( size) )
213213 } ,
214214 }
215215 }
@@ -261,7 +261,7 @@ impl Global {
261261 if zeroed {
262262 raw_ptr. add ( old_size) . write_bytes ( 0 , new_size - old_size) ;
263263 }
264- Ok ( NonNull :: slice_from_raw_parts ( ptr, new_size) )
264+ Ok ( ptr. cast_slice ( new_size) )
265265 } ,
266266
267267 // SAFETY: because `new_layout.size()` must be greater than or equal to `old_size`,
@@ -297,7 +297,7 @@ impl Global {
297297 // SAFETY: conditions must be upheld by the caller
298298 0 => unsafe {
299299 self . deallocate ( ptr, old_layout) ;
300- Ok ( NonNull :: slice_from_raw_parts ( new_layout. dangling_ptr ( ) , 0 ) )
300+ Ok ( new_layout. dangling_ptr ( ) . cast_slice ( 0 ) )
301301 } ,
302302
303303 // SAFETY: `new_size` is non-zero. Other conditions must be upheld by the caller
@@ -307,7 +307,7 @@ impl Global {
307307
308308 let raw_ptr = realloc_nonnull ( ptr, old_layout, new_size) ;
309309 let ptr = NonNull :: new ( raw_ptr) . ok_or ( AllocError ) ?;
310- Ok ( NonNull :: slice_from_raw_parts ( ptr, new_size) )
310+ Ok ( ptr. cast_slice ( new_size) )
311311 } ,
312312
313313 // SAFETY: because `new_size` must be smaller than or equal to `old_layout.size()`,
@@ -388,7 +388,7 @@ impl Global {
388388 #[ rustc_const_unstable( feature = "const_heap" , issue = "79597" ) ]
389389 const fn alloc_impl_const ( layout : Layout , zeroed : bool ) -> Result < NonNull < [ u8 ] > , AllocError > {
390390 match layout. size ( ) {
391- 0 => Ok ( NonNull :: slice_from_raw_parts ( layout. dangling_ptr ( ) , 0 ) ) ,
391+ 0 => Ok ( layout. dangling_ptr ( ) . cast_slice ( 0 ) ) ,
392392 // SAFETY: `layout` is non-zero in size,
393393 size => unsafe {
394394 let raw_ptr = core:: intrinsics:: const_allocate ( layout. size ( ) , layout. align ( ) ) ;
@@ -397,7 +397,7 @@ impl Global {
397397 // SAFETY: the pointer returned by `const_allocate` is valid to write to.
398398 ptr. write_bytes ( 0 , size) ;
399399 }
400- Ok ( NonNull :: slice_from_raw_parts ( ptr, size) )
400+ Ok ( ptr. cast_slice ( size) )
401401 } ,
402402 }
403403 }
0 commit comments