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
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]
rustc: Use rust strings for failure arguments

This avoids having to perform conversions from `*u8` to `&'static str` which can
suck in a good deal of code.

Closes #14442
Use clang++ for CXX when --enable-clang.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
std: change select! docs from 'ports' to 'receivers'
fix MIPS target
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
Fixed deprecation warning text for mem::move_val_init and its associated comment.
std: Rename strbuf operations to string

[breaking-change]
doc: Fix link to string

This was missed in 553074506ecd139eb961fb91eb33ad9fd0183acb
rust manual: supertraits seperator is wrong
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.