Refactor `Vec::map_in_place` to move code out of `PartialVec`

Additionally, support zero-sized types.
Include ChaCha pseudorandom generator
Fold `MethodOrigin`s to resolve inference variables they may contain.
Fixes #17662.
Remove unnecessary allocation, update API name for starting the rustc driver.
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
Make find->tidy resilient to filenames with spaces
Fix async assertion in test_sendable_future
Make --dep-info escape spaces in filenames

Closes #17627
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.
rust.css: Make it more clear when code spans are links
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`.
Add some notes about macro scoping
Use relative doc URLs in top-level guides
Update some old references to rust.md
Add a red-box warning to the macros guide
Add a guide to compiler plugins

Fixes #16983.
Link plugins guide from elsewhere