mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 10:13:54 +00:00
Document that Vec::from_raw_parts[_in]
must be given a pointer from the correct allocator.
This commit is contained in:
parent
ee0412d1ef
commit
288e89bf76
@ -490,6 +490,8 @@ impl<T> Vec<T> {
|
|||||||
/// This is highly unsafe, due to the number of invariants that aren't
|
/// This is highly unsafe, due to the number of invariants that aren't
|
||||||
/// checked:
|
/// checked:
|
||||||
///
|
///
|
||||||
|
/// * `ptr` must have been allocated using the global allocator, such as via
|
||||||
|
/// the [`alloc::alloc`] function.
|
||||||
/// * `T` needs to have the same alignment as what `ptr` was allocated with.
|
/// * `T` needs to have the same alignment as what `ptr` was allocated with.
|
||||||
/// (`T` having a less strict alignment is not sufficient, the alignment really
|
/// (`T` having a less strict alignment is not sufficient, the alignment really
|
||||||
/// needs to be equal to satisfy the [`dealloc`] requirement that memory must be
|
/// needs to be equal to satisfy the [`dealloc`] requirement that memory must be
|
||||||
@ -526,6 +528,7 @@ impl<T> Vec<T> {
|
|||||||
/// function.
|
/// function.
|
||||||
///
|
///
|
||||||
/// [`String`]: crate::string::String
|
/// [`String`]: crate::string::String
|
||||||
|
/// [`alloc::alloc`]: crate::alloc::alloc
|
||||||
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
|
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
@ -681,6 +684,7 @@ impl<T, A: Allocator> Vec<T, A> {
|
|||||||
/// This is highly unsafe, due to the number of invariants that aren't
|
/// This is highly unsafe, due to the number of invariants that aren't
|
||||||
/// checked:
|
/// checked:
|
||||||
///
|
///
|
||||||
|
/// * `ptr` must be [*currently allocated*] via the given allocator `alloc`.
|
||||||
/// * `T` needs to have the same alignment as what `ptr` was allocated with.
|
/// * `T` needs to have the same alignment as what `ptr` was allocated with.
|
||||||
/// (`T` having a less strict alignment is not sufficient, the alignment really
|
/// (`T` having a less strict alignment is not sufficient, the alignment really
|
||||||
/// needs to be equal to satisfy the [`dealloc`] requirement that memory must be
|
/// needs to be equal to satisfy the [`dealloc`] requirement that memory must be
|
||||||
@ -714,6 +718,7 @@ impl<T, A: Allocator> Vec<T, A> {
|
|||||||
///
|
///
|
||||||
/// [`String`]: crate::string::String
|
/// [`String`]: crate::string::String
|
||||||
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
|
/// [`dealloc`]: crate::alloc::GlobalAlloc::dealloc
|
||||||
|
/// [*currently allocated*]: crate::alloc::Allocator#currently-allocated-memory
|
||||||
/// [*fit*]: crate::alloc::Allocator#memory-fitting
|
/// [*fit*]: crate::alloc::Allocator#memory-fitting
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
|
Loading…
Reference in New Issue
Block a user