rust/library
Guillaume Gomez 5d8b2a5bf1
Rollup merge of #79918 - woodruffw-forks:ww/doc-initializer-side-effects, r=dtolnay
doc(array,vec): add notes about side effects when empty-initializing

Copying some context from a conversation in the Rust discord:

* Both `vec![T; 0]` and `[T; 0]` are syntactically valid, and produce empty containers of their respective types

* Both *also* have side effects:

```rust
fn side_effect() -> String {
    println!("side effect!");

    "foo".into()
}

fn main() {
    println!("before!");

    let x = vec![side_effect(); 0];

    let y = [side_effect(); 0];

    println!("{:?}, {:?}", x, y);
}
```

produces:

```
before!
side effect!
side effect!
[], []
```

This PR just adds two small notes to each's documentation, warning users that side effects can occur.

I've also submitted a clippy proposal: https://github.com/rust-lang/rust-clippy/issues/6439
2020-12-14 14:43:44 +01:00
..
alloc Rollup merge of #79918 - woodruffw-forks:ww/doc-initializer-side-effects, r=dtolnay 2020-12-14 14:43:44 +01:00
backtrace@af078ecc0b std: Update the backtrace crate submodule 2020-11-20 11:56:07 -08:00
core Rollup merge of #79360 - wchargin:wchargin-doc-iter-by-reference, r=m-ou-se 2020-12-13 11:05:22 +09:00
panic_abort Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
panic_unwind Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
proc_macro Auto merge of #79336 - camelid:rename-feature-oibit-to-auto, r=oli-obk 2020-11-25 07:25:19 +00:00
profiler_builtins Fix warning whe building profiler_builtins crate 2020-09-04 15:10:29 +02:00
rtstartup Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
rustc-std-workspace-alloc mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-core mv std libs to library/ 2020-07-27 19:51:13 -05:00
rustc-std-workspace-std mv std libs to library/ 2020-07-27 19:51:13 -05:00
std Rollup merge of #79918 - woodruffw-forks:ww/doc-initializer-side-effects, r=dtolnay 2020-12-14 14:43:44 +01:00
stdarch@777efaf564 Enable AVX512 *epi64 variants by updating stdarch 2020-11-17 11:50:52 +01:00
term mv std libs to library/ 2020-07-27 19:51:13 -05:00
test Dogfood 'str_split_once()` in the std lib 2020-12-07 14:24:05 -07:00
unwind Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00