Cleanup lifetime guide
Clean pointers guide
get over bold text madness, changes per PR, brought the "returning pointers" section back to pointers guide
fix mostly grammar per PR comments
Fix to tutorial
Minor fixes to `std::str` docs

This tweaks the `std::str` docs to compensate for the recent shift from `~str`
to `String`.
syntax: Add a source field to `Local` for tracking if it comes from `let`s or `for`s.
syntax: desugar a `for` loop to a let binding to get better error
messages when the pattern is refutable.

This means the compiler points directly to the pattern and said that the
problem is the pattern being refutable (rather than just saying that
some value isn't covered in the `match` as it did previously).

Fixes #14390.
rustc: provide more precise information about refutable patterns.

The compiler now points exactly which part(s) of a pattern are
refutable, rather than just highlighting the whole pattern.
std: Remove String::from_owned_str as it's redundant

[breaking-change]
auto merge of #14429 : sanrodari/rust/patch-1, r=sfackler
rustc: Account for typedefs in privacy

This ensures that a public typedef to a private item is ensured to be public in
terms of linkage. This affects both the visibility of the library's symbols as
well as other lints based on privacy (dead_code for example).

Closes #14421
Closes #14422
serialize: Remove old commented out code
collections: add Show impl test for HashMap
collections: implement Show for Tree{Map,Set}
std: Remove String's to_owned
auto merge of #14428 : alexcrichton/rust/issue-14422, r=pcwalton

This ensures that a public typedef to a private item is ensured to be public in
terms of linkage. This affects both the visibility of the library's symbols as
well as other lints based on privacy (dead_code for example).

Closes #14421
Closes #14422
std: Rename strbuf operations to string

[breaking-change]
doc: Fix link to string

This was missed in 553074506ecd139eb961fb91eb33ad9fd0183acb
auto merge of #14435 : P1start/rust/str-docs-fix, r=sfackler

This tweaks the `std::str` docs to compensate for the recent shift from `~str` to `String`.
auto merge of #14444 : huonw/rust/nice-for-errors, r=alexcrichton

Change `for` desugaring & make refutable pattern errors more precise

This changes for to desugar to the `let`-based pattern match as described in #14390, and adjusts the compiler to use this information for error messages that even mention that it's in a `for` loop.

Also, it makes the compiler record the exact positions of refutable parts of a pattern, to point to exactly them in error messages.