Skip to content

Commit

Permalink
doc(array,vec): add notes about side effects when empty-initializing
Browse files Browse the repository at this point in the history
  • Loading branch information
woodruffw committed Dec 10, 2020
1 parent d32c320 commit 9cf2516
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
3 changes: 3 additions & 0 deletions library/alloc/src/macros.rs
Expand Up @@ -29,6 +29,9 @@
/// to the same boxed integer value, not five references pointing to independently
/// boxed integers.
///
/// Also, note that `[T; 0]` is a valid initializer. This will initialize (or call)
/// `T` but not populate the vector with it, so be mindful of side effects.
///
/// [`Vec`]: crate::vec::Vec
#[cfg(not(test))]
#[macro_export]
Expand Down
3 changes: 3 additions & 0 deletions library/std/src/primitive_docs.rs
Expand Up @@ -489,6 +489,9 @@ mod prim_pointer {}
/// * A repeat expression `[x; N]`, which produces an array with `N` copies of `x`.
/// The type of `x` must be [`Copy`].
///
/// Note that `[x; 0]` is a valid repeat expression. This will produce an empty array
/// but will also initialize (or call) `x`, which may produce side effects.
///
/// Arrays of *any* size implement the following traits if the element type allows it:
///
/// - [`Copy`]
Expand Down

0 comments on commit 9cf2516

Please sign in to comment.