Add missing case for pointer -> int when translating constant cast expressions

Closes issue #17458
Disallow casting directly between C-like enums and unsafe pointers

This closes issue #17444
Add regression test for issue #17458
Add regression test for issue #17444
Fix async assertion in test_sendable_future
librustc/driver: expose build information of rustc.

CFG_RELEASE, CFG_VER_HASH and CFG_VER_DATE were only available as an output
to stdout from the driver::version() function that had an inconvenient
signature.
Guide: clarify exporting

Mention that using `pub` is called exporting.

Remove that `use` is called re-exporting, because `pub use` should be
called re-exporting. The guide currently doesn't cover `pub use`.
:fire: τ

Fixes #17674
use similar syntax in all arms

Fixes #17672
Don't compare () to null.

Fixes #17671.
Fix incorrect statement about ok()

Fixes #17676.
Fix `make TAGS.vi` target

Remove superfluous parentheses from the CTAGS_LOCATIONS expression.
Fixes the following error when executing `make TAGS.vi`:

    /bin/sh: -c: line 0: syntax error near unexpected token `)'
Enable a test for .. in range patterns.
rm obsolete valgrind suppressions
rm libuv-auto-clean-trigger
remove the uv_support code
core: remove raw::GcBox.
rustrt: remove local_heap implementation.
std: remove gc module.
serialize: remove proxy impls for Gc<T>.