Output a note when lifetimes cannot be elided from functions
Add an explanatory note when calling a closure via `&`

Closes #15506.
Clarify some borrowck errors

Closes #17263.
Use slice syntax instead of slice_to, etc.
Remove the `_` suffix from slice methods.

Deprecates slicing methods from ImmutableSlice/MutableSlice in favour of slicing syntax or the methods in Slice/SliceMut.

Closes #17273.
Put slicing syntax behind a feature gate.

[breaking-change]

If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
auto merge of #17381 : tbu-/rust/pr_mapinplace2, r=aturon

Additionally, support zero-sized types.

Now there isn't a safe interface of `PartialVec` anymore, it's just a bare data structure with destructor that assumes you handled everything correctly before.
Fix `make TAGS.vi` target

Remove superfluous parentheses from the CTAGS_LOCATIONS expression.
Fixes the following error when executing `make TAGS.vi`:

    /bin/sh: -c: line 0: syntax error near unexpected token `)'
Review and rebasing changes
Change the `use of moved value` error to be more accurate

Previously it output `partially moved` to eagerly. This updates it to be more
accurate and output `collaterally moved` for use of values that were invalidated
by moves out of different fields in the same struct.

Closes #15630.
auto merge of #17620 : nick29581/rust/slice4, r=aturon

cc @aturon 

r? anyone?
Enable a test for .. in range patterns.
auto merge of #17681 : jgallagher/rust/dep-info-escape-spaces, r=alexcrichton

cc #17627
rm obsolete valgrind suppressions
rm libuv-auto-clean-trigger
remove the uv_support code
auto merge of #17434 : P1start/rust/borrowck-messages, r=nikomatsakis

This was originally part of #17215.

Closes #15506.
Closes #15630.
Closes #17263.

This also partially implements #15838.
auto merge of #17663 : eddyb/rust/method-origin-subst, r=nikomatsakis

Fixes #17662.
core: remove raw::GcBox.
rustrt: remove local_heap implementation.