test: 'ratcher' is not a word
std: mark two helper functions #[inline].

`str::utf8_char_width` and `char::from_u32` are tiny, which means it's a
big performance hit to call them in a tight loop outside libstd.
Fixed invalid JavaScript

Signed-off-by: Daniel Fagnan <dnfagnan@gmail.com>
std: Remove some nonsense from old std::io docs

Most of this stuff is irrelevant implementation notes from last year.
This trims out the stuff that isn't appropriate for user-facing docs.
Register snapshots.
Make break and continue hygienic

Makes labelled loops hygiene by performing renaming of the labels
defined in e.g. `'x: loop { ... }` and then used in break and continue
statements within loop body so that they act hygienically when used with
macros.

Closes #12262.
Fix C function FFI example in the Rust cheatsheet
Transition to new `Hash`, removing IterBytes and std::to_bytes.
auto merge of #12492 : huonw/rust/snapshots, r=alexcrichton

Replaces IterBytes with the new Hash, removing all trace of the old implementation.
Tutorial: fix typo
auto merge of #12484 : TheHydroImpulse/rust/fix_js, r=huonw
auto merge of #12338 : edwardw/rust/hygienic-break-continue, r=cmr

Makes labelled loops hygiene by performing renaming of the labels defined in e.g. `'x: loop { ... }` and then used in break and continue statements within loop body so that they act hygienically when used with macros.
    
Closes #12262.
Merge remote-tracking branch 'kud1ing/patch-1'
Merge remote-tracking branch 'tbu/pr_doc_smallfix'
Merge remote-tracking branch 'brson/iodoc'
Merge remote-tracking branch 'brson/ratcher'
Merge remote-tracking branch 'huonw/inline-helpers'
All uses of `extern fn` should mean `extern "C" fn`. Closes #9309.
auto merge of #12509 : brson/rust/rollup, r=brson

Rollup of https://github.com/mozilla/rust/pull/12506, https://github.com/mozilla/rust/pull/12500, https://github.com/mozilla/rust/pull/12480, https://github.com/mozilla/rust/pull/12478, https://github.com/mozilla/rust/pull/12461.
Update rustc/syntax docs now that rustdoc lexes all non-`notrust` code blocks.

This includes blocks made by indentation, so they need to be changed to
explicitly have ```notrust ... ``` fences..