doc: grammar fix
Fix an ICE when trying to resolve a struct variant

Unlike a tuple variant constructor which can be called as a function, a
struct variant constructor is not a function, so cannot be called.

If the user tries to assign the constructor to a variable, an ICE
occurs, because there is no way to use it later. So we should stop the
constructor from being used like that.

A similar mechanism already exists for a normal struct, as it prohibits
a struct from being resolved. This commit does the same for a struct
variant.

This commit also includes some changes to the existing tests.

Fixes #19452.
Change default installation directory to %SYSTEMDRIVE%\Rust.
Modify user PATH, rather than system PATH.
Separate borrowck into its own crate and remove dead code as well.
auto merge of #19582 : nikomatsakis/rust/crateification, r=alexcrichton

r? @alexcrichton
libcore: use unboxed closures in `Option` methods
librustc_trans: fix fallout
Fix compile fail tests
libcore: use unboxed closures in `Result` methods
libcore: use unboxed closures in the fields of `Map`
libcollections: fix fallout
librustrt: fix fallout
libstd: fix fallout
libsyntax: fix fallout
librustc: fix fallout
librustc_trans: fix fallout
libcore: use unboxed closures in the fields of `Filter`
libunicode: fix fallout
librustc_trans: fix fallout
libcore: use unboxed closures in the fields of `FilterMap`