Guide: Change >= to > in closure
Use local cache when there are unbound type variables and where clauses in scope.

Fixes #18209.
Fixed single quote around string slice and simplify example

This patch contains a fix for:
- single quote around string slice
- string: String is confusing for newbies and it's more readble if the
  argument name is different that the argument type name
Fix codegen breaking aliasing rules for functions with sret results

This reverts commit a0ec902e239b2219edf1a18b036dd32c18d3be42 "Avoid
unnecessary temporary on assignments".

Leaving out the temporary for the functions return value can lead to a
situation that conflicts with rust's aliasing rules.

Given this:

````rust
fn func(f: &mut Foo) -> Foo { /* ... */ }

fn bar() {
    let mut foo = Foo { /* ... */ };

    foo = func(&mut foo);
}
````

We effectively get two mutable references to the same variable `foo` at
the same time. One for the parameter `f`, and one for the hidden
out-pointer. So we can't just `trans_into` the destination directly, but
must use `trans` to get a new temporary slot from which the result can
be copied.
build the crates guide
Add syntax::print::pprint::view_item_to_string

… similar to the existing `item_to_string`.

There may be more missing like this.
plugin-guide: nicer creation of the parser
Register new snapshots

This in theory enables uncommenting IndexMut implementations, but upon doing so
the compiler immediately segfaulted in stage1, so I'll leave those to a later
time.
Fail immediately if linking returns status code != 0
Update .mailmap
s/vtable2/vtable
Use type-safe wrapper for TypeFlags
Improve shootout-reverse-complement
ignore-android
Add as_unsafe_cell() for Cell and RefCell

Fixes #18131.
Make the Vec data structure layout match raw::Slice.

Fixes #18302

r? @thestinger
Make UdpStream block until the next non-empty msg.
Deprecate UdpStream
Guide: Fix off-by-one error
Make MIN_ALIGN a const to allow better optimization

With MIN_ALIGN as a static, other crates don't have access to its value
at compile time, because it is an extern global. That means that the
checks against it can't be optimized out, which is rather unfortunate.
So let's make it a constant instead.