File tree 1 file changed +4
-12
lines changed
1 file changed +4
-12
lines changed Original file line number Diff line number Diff line change @@ -1241,13 +1241,9 @@ impl<T> MaybeUninit<T> {
1241
1241
/// ```
1242
1242
#[ unstable( feature = "maybe_uninit_as_bytes" , issue = "93092" ) ]
1243
1243
pub fn slice_as_bytes ( this : & [ MaybeUninit < T > ] ) -> & [ MaybeUninit < u8 > ] {
1244
+ let bytes = mem:: size_of_val ( this) ;
1244
1245
// SAFETY: MaybeUninit<u8> is always valid, even for padding bytes
1245
- unsafe {
1246
- slice:: from_raw_parts (
1247
- this. as_ptr ( ) as * const MaybeUninit < u8 > ,
1248
- this. len ( ) * mem:: size_of :: < T > ( ) ,
1249
- )
1250
- }
1246
+ unsafe { slice:: from_raw_parts ( this. as_ptr ( ) as * const MaybeUninit < u8 > , bytes) }
1251
1247
}
1252
1248
1253
1249
/// Returns the contents of this mutable slice of `MaybeUninit` as a mutable slice of
@@ -1274,13 +1270,9 @@ impl<T> MaybeUninit<T> {
1274
1270
/// ```
1275
1271
#[ unstable( feature = "maybe_uninit_as_bytes" , issue = "93092" ) ]
1276
1272
pub fn slice_as_bytes_mut ( this : & mut [ MaybeUninit < T > ] ) -> & mut [ MaybeUninit < u8 > ] {
1273
+ let bytes = mem:: size_of_val ( this) ;
1277
1274
// SAFETY: MaybeUninit<u8> is always valid, even for padding bytes
1278
- unsafe {
1279
- slice:: from_raw_parts_mut (
1280
- this. as_mut_ptr ( ) as * mut MaybeUninit < u8 > ,
1281
- this. len ( ) * mem:: size_of :: < T > ( ) ,
1282
- )
1283
- }
1275
+ unsafe { slice:: from_raw_parts_mut ( this. as_mut_ptr ( ) as * mut MaybeUninit < u8 > , bytes) }
1284
1276
}
1285
1277
}
1286
1278
You can’t perform that action at this time.
0 commit comments