Register new snapshots
rustc: Obsolete the `@` syntax entirely

This removes all remnants of `@` pointers from rustc. Additionally, this removes
the `GC` structure from the prelude as it seems odd exporting an experimental
type in the prelude by default.

Closes #14193
[breaking-change]
auto merge of #14835 : alexcrichton/rust/no-more-at, r=brson

All functionality is now available through `Gc<T>` and `box(GC) expr`. This change also removes `GC` from the prelude (it's an experimental feature).
Check pattern refutability the same way exhaustiveness is checked
Provide a witness pattern for non-exhaustive patterns

Fixed #4321
Add support for fixed size vectors in let/arg patterns

Fixes #7784
Add unreachability detection for missized patterns of fixed size vectors

Fixed #13482
Fix #14393

String patterns should have a single constructor of arity 0.