rustc: move the check_loop pass earlier.

This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of `let r =
break;` with few constraints on `r`, but its more useful to be told that
the `break` is outside a loop (rather than a type error) when it is.

Closes #13292.
Removed cmath and instrinsic wrapper.
Remove references to obsolete `do` keyword

Also add the new `proc` keyword to the documentation.
librustc: Improve error message for incompatible trait method signatures.
auto merge of #13330 : huonw/rust/loop-error, r=alexcrichton

rustc: move the check_loop pass earlier.

This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of 
`let r = break;` with few constraints on `r`, but it's more useful to be told that
the `break` is outside the loop (rather than a type error) when it is.

Closes #13292.
Make the fields of semver::Version public again.
auto merge of #13331 : pongad/rust/remove-wrapper, r=thestinger

Fixes #12713
auto merge of #13332 : mbrubeck/rust/doc-edit, r=huonw

Also add the new `proc` keyword to the documentation.
auto merge of #13333 : Ryman/rust/improve_incompatible_type_error, r=alexcrichton

This can be a frustrating error message, ideally we should print the signature mismatch, but hinting that it's a trait incompatibility helps tracking root cause. Also beefed up the testcases for this.

Ideally we would print the signature mismatch in the error helper?
auto merge of #13339 : mozilla-servo/rust/semver-pub, r=cmr
Fix an unnecessary use of `cast::transmute`

Wherever possible, more specialized variants of said functions should be used,
such as in this case `cast::transmute_mmut_unsafe`.
auto merge of #13343 : tbu-/rust/pr_smallfix, r=pcwalton

Fix an unnecessary use of `cast::transmute`

Wherever possible, more specialized variants of said functions should be used,
such as in this case `cast::transmute_mmut_unsafe`.
name struct in "field `...` is private" error