about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2017-12-20 08:29:32 -0800
committerManish Goregaokar <manishsmail@gmail.com>2017-12-20 08:29:32 -0800
commit52c28fffa905752dadd1faab9d1332c0d1aa3c1a (patch)
tree7cdbd94fb8c90d484949c4e29382e9ae7d1a2fa3 /src/liballoc
parentdf8dfdeff68e60a68d026a3374cfb8159d0495cb (diff)
downloadrust-52c28fffa905752dadd1faab9d1332c0d1aa3c1a.tar.gz
rust-52c28fffa905752dadd1faab9d1332c0d1aa3c1a.zip
Clarify vec docs on deallocation (fixes #46879)
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/vec.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/liballoc/vec.rs b/src/liballoc/vec.rs
index 67ccb5cab6d..93d7e66b7b2 100644
--- a/src/liballoc/vec.rs
+++ b/src/liballoc/vec.rs
@@ -224,8 +224,10 @@ use Bound::{Excluded, Included, Unbounded};
 /// types inside a `Vec`, it will not allocate space for them. *Note that in this case
 /// the `Vec` may not report a [`capacity`] of 0*. `Vec` will allocate if and only
 /// if [`mem::size_of::<T>`]`() * capacity() > 0`. In general, `Vec`'s allocation
-/// details are subtle enough that it is strongly recommended that you only
-/// free memory allocated by a `Vec` by creating a new `Vec` and dropping it.
+/// details are very subtle &mdash; if you intend to allocate memory using a `Vec`
+/// and use it for something else (either to pass to unsafe code, or to build your
+/// own memory-backed collection), be sure to deallocate this memory by using
+/// `from_raw_parts` to recover the `Vec` and then dropping it.
 ///
 /// If a `Vec` *has* allocated memory, then the memory it points to is on the heap
 /// (as defined by the allocator Rust is configured to use by default), and its