summary refs log tree commit diff
path: root/library/alloc/src/vec
diff options
context:
space:
mode:
authorJan Behrens <jbe@magnetkern.de>2022-08-22 12:36:44 +0200
committerJan Behrens <jbe@magnetkern.de>2022-08-22 12:36:44 +0200
commit0227b71865b982a309a0f8992e33042a4d23ae0d (patch)
treebc14d66275c908bf074f603dc098b24eb31bd906 /library/alloc/src/vec
parenta9bb589cd678e034d194193fa892942315b10e2a (diff)
downloadrust-0227b71865b982a309a0f8992e33042a4d23ae0d.tar.gz
rust-0227b71865b982a309a0f8992e33042a4d23ae0d.zip
Add guarantee that Vec::default() does not alloc
Currently `Vec::new()` is guaranteed to not allocate until elements are
pushed onto the `Vec`, but such a guarantee is missing for `Vec`'s
implementation of `Default::default`. This adds such a guarantee for
`Vec::default()` to the API reference.
Diffstat (limited to 'library/alloc/src/vec')
-rw-r--r--library/alloc/src/vec/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs
index cea943602f7..41af8c16ba7 100644
--- a/library/alloc/src/vec/mod.rs
+++ b/library/alloc/src/vec/mod.rs
@@ -2927,6 +2927,8 @@ unsafe impl<#[may_dangle] T, A: Allocator> Drop for Vec<T, A> {
 #[rustc_const_unstable(feature = "const_default_impls", issue = "87864")]
 impl<T> const Default for Vec<T> {
     /// Creates an empty `Vec<T>`.
+    ///
+    /// The vector will not allocate until elements are pushed onto it.
     fn default() -> Vec<T> {
         Vec::new()
     }