pub unsafe fn from_raw_parts_mut<'a, T>(data: *mut T, len: usize) -> &'a mut [T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Performs the same functionality as from_raw_parts
, except that a mutable slice is returned.
Behavior is undefined if any of the following conditions are violated:
data
must be valid for boths reads and writes for len * mem::size_of::<T>()
many bytes, and it must be properly aligned. This means in particular:
data
must be non-null and aligned even for zero-length slices. One reason for this is that enum layout optimizations may rely on references (including slices of any length) being aligned and non-null to distinguish them from other data. You can obtain a pointer that is usable as data
for zero-length slices using NonNull::dangling()
.The memory referenced by the returned slice must not be accessed through any other pointer (not derived from the return value) for the duration of lifetime 'a
. Both read and write accesses are forbidden.
The total size len * mem::size_of::<T>()
of the slice must be no larger than isize::MAX
. See the safety documentation of pointer::offset
.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/slice/fn.from_raw_parts_mut.html