handle attributes for non-immediate types first

Slices are non-immediate and were not having these attributes applied.
auto merge of #14439 : thestinger/rust/nonnull, r=luqmana
syntax: Add a source field to `Local` for tracking if it comes from `let`s or `for`s.
auto merge of #14374 : swgillespie/rust/swgillespie-tutorial, r=alexcrichton

The current tutorial says that the only way to get master is to build from source, which isn't true anymore - nightly binaries and an installer for Mac OS X are now available at the install page: http://www.rust-lang.org/install.html . Feedback very much welcome! Addresses issue #13578.
Improve docs for core::tuple
auto merge of #14440 : Sawyer47/rust/tuple-doc, r=alexcrichton
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
auto merge of #14429 : sanrodari/rust/patch-1, r=sfackler
Use clang++ for CXX when --enable-clang.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
std: change select! docs from 'ports' to 'receivers'
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
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.