etc: Fix install script for rpath removal

This adds detection of the relevant LD_LIBRARY_PATH-like environment variable
and appropriately sets it when testing whether binaries can run or not.
Additionally, the installation prints a recommended value if one is necessary.
Remove car analogy.

This was super silly anyway.

Fixes #15539.
Register new snapshots

Closes #15544
syntax: De-doc comment to fix nightlies

This reverts the promotion from line-comment to doc-comment in 4989a56 to fix
the compiler-docs target.

Closes #15553
lint: extend `#[must_use]` to handle a message.

Similar to the stability attributes, a type annotated with `#[must_use =
"informative snippet"]` will print the normal warning message along with
"informative snippet". This allows the type author to provide some
guidance about why the type should be used.
core: add `#[must_use]` attributes to iterator adaptor structs.

It can be a little unintuitive that something like `v.iter().map(|x|
println!("{}", x));` does nothing: the majority of the iterator adaptors
are lazy and do not execute anything until something calls `next`, e.g.
a `for` loop, `collect`, `fold`, etc.

The majority of such errors can be seen by someone writing something
like the above, i.e. just calling an iterator adaptor and doing nothing
with it (and doing this is certainly useless), so we can co-opt the
`must_use` lint, using the message functionality to give a hint to the
reason why.

Fixes #14666.
auto merge of #15550 : alexcrichton/rust/install-script, r=brson

This adds detection of the relevant LD_LIBRARY_PATH-like environment variable
and appropriately sets it when testing whether binaries can run or not.
Additionally, the installation prints a recommended value if one is necessary.

Closes #15545
librustc: Don't emit call for intrinsics instead just trans at callsite.
libcore: Deprecate advance method on Iterators.
libcollections: Use iterators instead of old-style loops.
libgetopts: Use iterators instead of old-style loops.
libsyntax: Remove uses of advance.
librustc: Remove uses of advance.
tests: Remove uses of advance.
auto merge of #15514 : luqmana/rust/die-advance-die, r=cmr

Closes #15492.
librustc: Remove old codepaths for creating intrinsic functions.
librustc: Update to reflect changes to how intrinsics are codegened.
Derive Clone for Command and StdioContainer
auto merge of #15554 : steveklabnik/rust/gh_15539, r=brson

This was super silly anyway.

Fixes #15539.
librustc: Translate input for transmute directly into dest.