Append missing padding after last field of struct

This patch fixes issue #13186.

When generating constant expression for enum, it is possible that
alignment of expression may be not equal to alignment of type.  In that
case space after last struct field must be padded to match size of value
and size of struct. This commit adds that padding.

See detailed explanation in src/test/run-pass/trans-tag-static-padding.rs
Merge the Round trait into the Float trait

Move the rounding functions into the `std::num::Float` trait and then remove `std::num::Round`.

This continues the flattening of the numeric traits tracked in #10387. The aim is to make `std::num` very simple and tied to the built in types, leaving the definition of more complex numeric towers to third-party libraries.

[breaking-change]
Have floating point functions take their parameters by value.

Make all of the methods in `std::num::Float` take `self` and their other parameters by value.

Some of the `Float` methods took their parameters by value, and others took them by reference. This standardises them to one convention. The `Float` trait is intended for the built in IEEE 754 numbers only so we don't have to worry about the trait serving types of larger sizes.

[breaking-change]
Fix formatting in float implementations
Reorder Float methods in trait definition and make consistent in impls
Be more clear about what this lambda expression does
Give more explanation when introducing closures
Demonstrate accessing external variable in first example
rustuv: Fix a tcp connect timeout bug on windows

When a uv_tcp_t is closed in libuv, it will still invoke the pending connect_cb,
and I thought that it would always call it with ECANCELED, but it turns out that
sometimes we'll get a different error code instead. Handle this case by checking
to see if the request's data is NULL and bail out if so (the timeout expired).
remove meaningless sentence and update copyright.
fix copyright message based on `make check`
Fix misspellings in comments.
fix and improve shootout-chameneos-redux

* fix official shootout test (spacing)
* use libgreen to improve performances
* simplify and modernize code
* remove warnings
Update the "Additional tutorials" link
str: Inline `only_ascii` in string iterators.

Was killing performance of selector matching in Servo.
Fix ICE when reporting closure and proc mismatch

Closes #13599
auto merge of #13653 : jbcrail/rust/fix-comment-mistakes, r=alexcrichton
Specialize kinds inference for `Unsafe<T>`

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125
auto merge of #13583 : FlaPer87/rust/special-unsafe, r=nikomatsakis

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125

cc @nikomatsakis
Fixed typo in tutorial

Replaced "len" by "length", to match the given code example.