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.
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
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'
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..
auto merge of #12510 : huonw/rust/fix-compiler-docs, r=alexcrichton

This includes blocks made by indentation, so they need to be changed to
explicitly have ```notrust ... ``` fences..
Removed rustdoc comments on pub mod statements in std::io's mod.rs. Tweaked wording of stdio's summary statement.
Move std::{trie, hashmap} to libcollections

These two containers are indeed collections, so their place is in
libcollections, not in libstd. There will always be a hash map as part of the
standard distribution of Rust, but by moving it out of the standard library it
makes libstd that much more portable to more platforms and environments.

This conveniently also removes the stuttering of 'std::hashmap::HashMap',
although 'collections::HashMap' is only one character shorter.
std: Move intrinsics to std::intrinsics.

Issue #1457