doc: grammar fix
auto merge of #19669 : alfie/rust/master, r=sanxiyn
rollup merge of #19690: barosl/struct-variant-as-a-function-ice

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.
rollup merge of #19709: steveklabnik/po4a_fix

This line was declared twice, which causes the build of i10n docs to
fail.
rollup merge of #19710: steveklabnik/gh15449

Fixes #15499.
rollup merge of #19714: steveklabnik/gh16219

These should be properly annotated instead.

Fixes #16219.
rollup merge of #19725: vadimcn/inst-path

Change default installation directory to %SYSTEMDRIVE%\Rust.
Modify user PATH, rather than system PATH.
rollup merge of #19729: vhbit/ios-oibit-fix
rollup merge of #19735: sethpollack/patch-1
rollup merge of #19738: steveklabnik/gh19717

Fixes #19717
rollup merge of #19746: steveklabnik/gh9266

Fixes #9266
rollup merge of #19750: murarth/rusti-support

Makes a couple changes that support the implementation of a REPL:

* Implementation of wrapper code for LLVM ExecutionEngine API
* Fixing a change I made earlier to reset compiler state in `phase_1_[...]`
  instead of `compile_input` as the latter is not used in a REPL
rollup merge of #19754: steveklabnik/remove_sundown
rollup merge of #19763: csouth3/remove-featuregates

This is a revival of #19517 (per request of @alexcrichton) now that the new snapshots have landed.  We can now remove the last feature gates for if_let, while_let, and tuple_indexing scattered throughout the test sources since these features have been added to Rust.

Closes #19473.
rollup merge of #19771: jbranchaud/add-btreeset-iter-doctests
rollup merge of #19774: tomjakubowski/rustdoc-consts-statics

Build `clean::ConstantItem` values in the `inline` module and
pretty-print the AST for inlined const items.

Doc strings are still missing from inlined constants (see #19773).

Partially address #18156, #19722, #19185

Fix #15821

r? @alexcrichton
rollup merge of #19775: SimonSapin/gedit-new-unicode-escape
rollup merge of #19778: aochagavia/ice

Fixes #19734
rollup merge of #19779: Noctune/master

The old PartialOrd impl for raw pointers would always return Some(_), so It might as well implement Ord too.
rollup merge of #19784: csouth3/vim-syntax-iter

Vim still incorrectly highlights just `ExactSize` as a valid trait name, but the trait has been renamed to `ExactSizeIterator`.