Use `TokenTree`s in lhs of macros
Remove `Matcher`s
Workaround to have doc comments desugared only in macros
Properly escape paths to executables. Fixes #18632.
Correct building documenation with Pandoc and TeX on Windows.
Fix soundness hole in struct with expressions.

Fixes #18567. Struct{x:foo, .. with_expr} did not walk with_expr, which allowed
using moved variables in some cases.  The CFG for structs also built up with
with_expr happening before the fields, which is now reversed. (Fields are now
before the with_expr in the CFG)
Guide: Puts the toc again in the doc

Closes #17505
Fix atomic::fence documentation typos
Implement Index/IndexMut for [T]

Closes #16529
Make EnumSet not silently corrupt data.

Assert at run time instead. Fixes #13756.

I’d rather have this be detected at compile-time, but I don’t know how to do that.
EnumSet assertion: better error message.
Add example impl in CLike docs. Fix 13752.
Fix handling of unboxed closure type param substitutions

- When selecting an implicit trait impl for an unboxed closure, plumb
  through and use the substitutions from impl selection instead of
  using those from the current param environment in trans, which may
  be incorrect.
- When generating a function declaration for an unboxed closure, plumb
  through the substitutions from the param environment of the closure
  as above.  Also normalize the type to avoid generating duplicate
  declarations due to regions being inconsistently replaced with
  ReStatic elsewhere.
- Do not place the closure type in the self param space when
  translating the unboxed closure callee, etc.  It is not actually
  used, and doing so conflicts with the self substitution from
  default trait methods.

Closes #18661
Closes #18685
Add regression test for #18661
Add regression test for #18685
libs: add Deref, DerefMut impls for references, fixing a bug in compiler in the process that was blocking this.

Fixes #18621.
Fix panic due to overly long borrow of RefCell

Closes #18711
Add regression test for #18711
Remove incorrect assert in trans

As an optimization, once unboxed closures receive their environment by
value if it fits within the size of an `int`.  An assert in this code
path assumed that this would only occur if the environment had no more
than a single free variable in it, but multiple smaller free variables
can easily be packed into the space of an `int`, particularly if any
of them are 0-sized.  The assert can simply be removed.

Closes #18652
Add regression test for #18652