rollup merge of #19308: thestinger/oom

Closes #19305
rollup merge of #19310: steveklabnik/gh19178

Fixes #19178
rollup merge of #19312: steveklabnik/gh19177
rollup merge of #19313: steveklabnik/gh18844

Fixes #18844
rollup merge of #19316: steveklabnik/gh18876

Fixes #18876
rollup merge of #19317: sfackler/xcrate-namespace

The chunk of code in encoder.rs was at one point deleted, but must have come back in a rebase or something :(

Closes #19293
rollup merge of #19322: DiamondLovesYou/multi-llvmdeps
rollup merge of #19325: ucarion/pointers-doc-formatting

The "Returning Pointers" section of the pointers guide broke from the convention of putting code between backticks. This PR fixes that. There's also a little trailing whitespace I took care of.
rollup merge of #19326: huonw/safer-syntax

This makes it correct (e.g. avoiding null pointers) and safe.
rollup merge of #19328: sfackler/buffered-get-mut

This is necessary to e.g. set a timeout on the underlying stream.

r? @alexcrichton
rollup merge of #19330: csouth3/binaryheap-iter

There's no reason that BinaryHeap's iterator can't implement DoubleEnded and ExactSize, so add these implementations.
rollup merge of #19336: apasel422/guide

- `s/(left|right) hand/\1-hand/`
- `s/parenthesis/parentheses/`
- `s/unicode/Unicode/`
- `s/validly-encoded/validly encoded/`
Test fixes and rebase conflicts
/*! -> //!

Sister pull request of https://github.com/rust-lang/rust/pull/19288, but
for the other style of block doc comment.
rollup merge of #19329: steveklabnik/doc_style_cleanup2
More test fixes and rebase conflicts!
auto merge of #19342 : alexcrichton/rust/rollup, r=alexcrichton
auto merge of #19343 : sfackler/rust/less-special-attrs, r=alexcrichton

Descriptions and licenses are handled by Cargo now, so there's no reason
to keep these attributes around.
Documentation fix for std::num::strconv

- int_to_str_bytes_common() doesn't have a return value.
- float_to_str_bytes_common() has an old-style doc comment.
Fixed iOS build after Iter stab