Improve the zsh completions.

Currently the ZSH completions are quite old an nearly useless. This
brings them up to be compatible with current rust and makes them far
more useful.

Closes #17305
Add a forbid-output property in cfail tests
Pop the expansion context after expanding a method macro

We were leaving these on the stack, causing spurious backtraces.

I've confirmed that this test fails without the fix.
Fix warning and make code follow the text better
Document that CStrings live in the libc heap

Insists on the fact that the memory is managed by malloc
and not jemalloc
Closes #17067
support LTO against libraries built with codegen-units > 1
Document that CStrings live in the libc heap

Closes issue #17067 and improves pr #17355
syntax: use an index in CodeMap instead of Gc for ExpnInfo.
rustc: fix fallout from removing the use of Gc for ExpnInfo.
Fix fallout in tests from removing the use of Gc in ExpnInfo.
rustc: remove DefArg and DefBinding in favor of DefLocal.
rustc: remove BindingMode from DefLocal.
rustc: add a closure depth to DefUpvar.
rustc: move type definitions from middle::freevars to middle::ty.
rustc: move freevar finding to resolve.
rustc: remove Gc<Def> and depth from DefUpvar.
Doc says to avoid mixing allocator instead of forbiding it
std::rt::backtrace: Fix backtrace on Win64

`struct CONTEXT` and its substructs require 16-byte alignment.
stop disabling ASLR in normal Windows builds

Closes #16514
Implement slicing syntax.

`expr[]`, `expr[expr..]`, `expr[..expr]`,`expr[expr..expr]`

Uses the Slice and SliceMut traits.

Allows ... as well as .. in range patterns.