rust/library/core/src
Yuki Okushi 1698773263
Rollup merge of #79360 - wchargin:wchargin-doc-iter-by-reference, r=m-ou-se
std::iter: document iteration over `&T` and `&mut T`

A colleague of mine is new to Rust, and mentioned that it was “slightly
confusing” to figure out what `&mut` does in iterating over `&mut foo`:

```rust
for value in &mut self.my_vec {
    // ...
}
```

My colleague had read the `std::iter` docs and not found the answer
there. There is a brief section at the top about “the three forms of
iteration”, which mentions `iter_mut`, but it doesn’t cover the purpose
of `&mut coll` for a collection `coll`. This patch adds an explanatory
section to the docs. I opted to create a new section so that it can
appear after the note that `impl<I: Iterator> IntoIterator for I`, and
it’s nice for the existing “three forms of iteration” to appear near the
top.

Test Plan:
Ran `./x.py doc library/core`, and the result looked good, including
links. Manually copy-pasted the two doctests into the playground and ran
them.

wchargin-branch: doc-iter-by-reference
2020-12-13 11:05:22 +09:00
..
alloc Rename AllocRef to Allocator and (de)alloc to (de)allocate 2020-12-04 14:47:15 +01:00
array Make as{_mut,}_slice on array::IntoIter public 2020-11-19 08:28:49 +01:00
char Back to #method for links on char 2020-11-30 21:18:56 +01:00
convert Rollup merge of #77339 - fusion-engineering-forks:tryfrom-nonzero-to-nonzero, r=dtolnay 2020-10-23 18:26:16 +09:00
fmt Use more std:: instead of core:: in docs for consistency, add more intra doc links 2020-12-02 00:41:53 +01:00
future Use more std:: instead of core:: in docs for consistency, add more intra doc links 2020-12-02 00:41:53 +01:00
hash fix aliasing issues in SipHasher 2020-10-31 16:26:06 +01:00
iter Rollup merge of #79360 - wchargin:wchargin-doc-iter-by-reference, r=m-ou-se 2020-12-13 11:05:22 +09:00
macros Clean up core macros documentation 2020-11-23 11:28:25 -08:00
mem Make write and slice_as_[mut_]_ptr const 2020-12-08 00:07:34 +01:00
num Fix typo in wrapping_shl documentation 2020-12-09 15:14:58 -08:00
ops small TypeVisitor refactor 2020-12-07 15:52:59 +01:00
prelude mv std libs to library/ 2020-07-27 19:51:13 -05:00
ptr Rename AllocRef to Allocator and (de)alloc to (de)allocate 2020-12-04 14:47:15 +01:00
slice Auto merge of #76688 - yokodake:patch-2, r=kodrAus 2020-11-25 02:49:28 +00:00
str Add a doctest example of str::split on a slice of chars 2020-12-02 08:54:42 -08:00
sync Cast pointers to usize before passing them to atomic operations as some platforms do not support atomic operations on pointers. 2020-11-29 12:58:03 +00:00
task Use more std:: instead of core:: in docs for consistency, add more intra doc links 2020-12-02 00:41:53 +01:00
unicode Privatize some of libcore unicode_internals 2020-12-07 16:16:42 +03:00
any.rs update tracking issue for const_type_id 2020-09-24 09:00:04 +10:00
ascii.rs Fixed some intra-docs links in library/core 2020-09-18 07:49:29 +08:00
bool.rs Stabilise then 2020-11-22 13:45:14 +00:00
borrow.rs Remove AsRef link as it is in the prelude 2020-08-10 20:29:20 +02:00
cell.rs Fix several broken links in doc that used the wrong qualifier or Self:: 2020-11-30 21:21:15 +01:00
clone.rs Improve readability 2020-09-01 19:56:32 +02:00
cmp.rs Add some core::cmp::Ordering helpers 2020-12-10 20:32:12 +00:00
default.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
ffi.rs Properly define va_arg and va_list for aarch64-apple-darwin 2020-10-25 21:37:01 -04:00
hint.rs Stabilize hint::spin_loop 2020-11-06 23:41:55 +08:00
internal_macros.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
intrinsics.rs Auto merge of #79621 - usbalbin:constier_maybe_uninit, r=RalfJung 2020-12-10 10:46:38 +00:00
lazy.rs Capitalize safety comments 2020-09-08 22:26:44 -04:00
lib.rs Auto merge of #79621 - usbalbin:constier_maybe_uninit, r=RalfJung 2020-12-10 10:46:38 +00:00
marker.rs Auto merge of #77893 - petertodd:2020-impl-default-for-phantompinned, r=dtolnay 2020-11-23 07:00:30 +00:00
option.rs Improve wording of flatten() docs 2020-12-10 20:36:12 -08:00
panic.rs Use more std:: instead of core:: in docs for consistency, add more intra doc links 2020-12-02 00:41:53 +01:00
panicking.rs Bump bootstrap compiler version 2020-11-19 19:23:36 -05:00
pin.rs Add tracking issue number for pin_static_ref. 2020-10-21 16:30:41 +02:00
primitive.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
raw.rs Use intra-doc-links in core::{raw, ffi, pin} 2020-08-22 22:25:27 +02:00
result.rs Improve wording of flatten() docs 2020-12-10 20:36:12 -08:00
time.rs Remove Duration::MIN entirely 2020-10-27 15:48:58 -07:00
tuple.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
unit.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00