Fold `MethodOrigin`s to resolve inference variables they may contain.
Fixes #17662.
Remove unnecessary allocation, update API name for starting the rustc driver.
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.
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 #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.
Revert "Review and rebasing changes"

This reverts commit 6e0611a48707a1f5d90aee32a02b2b15957ef25b.
Revert "Put slicing syntax behind a feature gate."

This reverts commit 95cfc35607ccf5f02f02de56a35a9ef50fa23a82.
Revert "Remove the `_` suffix from slice methods."

This reverts commit df2f1fa7680a86ba228f004e7de731e91a1df1fe.
Revert "Use slice syntax instead of slice_to, etc."

This reverts commit 40b9f5ded50ac4ce8c9323921ec556ad611af6b7.
auto merge of #17715 : aturon/rust/revert-slice-ops-libs, r=alexcrichton

This PR reverts https://github.com/rust-lang/rust/pull/17620, which caused a significant regression for slices.

As discussed with @alexcrichton, all of the public-facing changes of the earlier PR need to be rolled back, and it's not clear that we should move the libraries over to this new notation yet anyway (especially given its feature-gated status).

Closes #17710