Properly static lib packaging

Fixes #18574
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
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 #18739 : vhbit/rust/issue-18574, r=alexcrichton

Fixes #18574
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.