Fix handling of for loop patterns in regionck

When establishing region links within a pattern, use the mem-cat
of the type the pattern matches against (that is, the result
of `iter.next()`) rather than that of the iterator type.

Closes #17068
Closes #18767
Add regression for #17068
Add regression for #18767
mk: Fix Windows cross-build prefix
Make Int inherit from Ord.

Previously Int inherited from PartialOrd (via Primitive)
but not Ord.  But integers have a total order, so
inheriting from Ord is appropriate. Fixes #18776.
First stage of struct variant field visibility changes

We need a snapshot before the parser can be adjusted.
Added `move` keyword and renamed `fail` to `panic`
auto merge of #18780 : bkoropoff/rust/regionck-for-loop, r=eddyb

Use the mem-cat of the iterator element type rather than the iterator itself when processing the for loop pattern.

Closes #17068
Closes #18767
auto merge of #18781 : klutzy/rust/cross, r=cmr

cc #12859
auto merge of #18782 : netvl/rust/update-vim-syntax, r=alexcrichton

`as` (already for a long time) and `move` (which was only added recently, AFAIK) are not marked as keywords in Vim syntax file, so they are not highlighted as keywords in Rust sources. This PR fixes this.
auto merge of #18792 : sfackler/rust/struct-variants, r=alexcrichton

We need a snapshot before the parser can be adjusted.
auto merge of #18795 : haberman/rust/master, r=cmr

Previously Int inherited from PartialOrd (via Primitive)
but not Ord.  But integers have a total order, so
inheriting from Ord is appropriate. Fixes #18776.
rustdoc: Private modules should be included in docs

Changed `rustdoc` so that if we do not have the `strip-private` pass
enabled private modules will be included in the generated documentation.