Relicense shootout-spectralnorm.rs to the shootout license

Everyone agreed.

Fix #17064
Relicense shootout-fasta.rs ti the shootout license.

Everyone agreed.

Fix #17072
rustdoc: Correctly distinguish enums and types

This is done by adding a new field to the `DefTy` variant of `middle::def::Def`,
which also clarifies an error message in the process.

Closes #16712.
Case-insensitive environment keys.
auto merge of #17246 : bkoropoff/rust/issue-17216, r=pnkfelix

Trans the cleanup scope of for loop bindings so we don't leak resources.  Regression test included.

Closes #17216
doc: Cleanup.

Remove ~~~ for code block specification. Use /// Over /** */ for doc
blocks.
auto merge of #17247 : huonw/rust/toggle-clone, r=alexcrichton

This needs a clone otherwise each successive insertion detaches `toggle`
from the previous position.

Fixes #17125.
doc: Methods for result::Result.
doc: Methods for option::Option
auto merge of #17254 : gamazeps/rust/issue17210, r=alexcrichton

Closes #17210
doc: Backticks and spelling mistakes.
doc: Remove "see above".
auto merge of #17264 : bkoropoff/rust/issue-17252, r=nick29581

Recursive items are currently detected in the `check_const` pass which runs after type checking.  This means a recursive static item used as an array length will cause type checking to blow the stack.  This PR separates the recursion check out into a separate pass which is run before type checking.

Closes issue #17252

r? @nick29581
test: Un-ignore some GDB pretty printing tests

I've confirmed that these are working on the snapshot builders

Closes #16919
rollup merge of #16889 : P1start/array-not-vector
rollup merge of #16931 : omasanori/unnecessary-path-brackets
rollup merge of #16936 : nham/two_way_makeover
rollup merge of #17226 : P1start/rustdoc-colour
rollup merge of #17276 : treeman/json-comma
rollup merge of #17277 : steveklabnik/doc_fix_rollup