update vim indent file
doc: Cleanup.

Remove ~~~ for code block specification. Use /// Over /** */ for doc
blocks.
doc: Methods for result::Result.
doc: Methods for option::Option
doc: Backticks and spelling mistakes.
doc: Remove "see above".
fix for vim < 7.4.355
Do not attempt to autoderef `!`

This prevents error spam when attempting to look up overload traits.
Disallow dereference of `!`

Later compiler passes are not prepared to deal with deref of
`ty_bot` and will generate various ICEs, so disallow it outright for now.

Closes issue #17373
Disallow index of `!`

This avoids ICEs in later passes that cannot cope with this construct
Add regression test for issue #17373
Add test that `!` cannot be indexed
Move bundled gcc and its libs out into $rust/rustlib/<triple>/gcc/(bin|lib).  This way the libs won't be on the -L library search path, and won't confuse external gcc, if one is used.  The bundled gcc itself will still be able to find them, because it searches for libs relative to own install location.
Prefer bundled gcc.  External gcc can still be used if one provides a full path via -Clinker=...
Restore original terminal colors after error messages on Windows.
Remove -Z no-opt flag.

Closes #13649
Minor grammar fixes.
auto merge of #17420 : anchovieshat/rust/grammar, r=huonw

Fix grammar (double "note") in situations like:

src/reader/events.rs:120:5: 120:25 **note: note** conflicting type here
src/reader/events.rs:120     Error(common::Error)
Move -Z lto to -C lto.

Closes #12443
auto merge of #17421 : anchovieshat/rust/move_lto, r=thestinger

Closes #12443