Fold `MethodOrigin`s to resolve inference variables they may contain.
Fixes #17662.
Remove unnecessary allocation, update API name for starting the rustc driver.
Make find->tidy resilient to filenames with spaces
Make --dep-info escape spaces in filenames

Closes #17627
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.
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?
auto merge of #17681 : jgallagher/rust/dep-info-escape-spaces, r=alexcrichton

cc #17627
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.
auto merge of #17590 : bjadamson/rust/rustc-improvements, r=alexcrichton

Removes an unnecessary allocation when passing the command line arguments to the librustc driver.