std::rt: require known stack bounds for all tasks.

We just approximate with a 1 or 2 MB stack for native::start.
librustc: Move block contexts into per-function arenas, and
stack-allocate function contexts.
Merge some numeric traits with Real and don't re-export RealExt

The methods contained in `std::num::{Algebraic, Trigonometric, Exponential, Hyperbolic}` have now been moved into `std::num::Real`. This is part of an ongoing effort to simplify `std::num` (see issue #10387).

`std::num::RealExt` has also been removed from the prelude because it is not a commonly used trait.
Remove ApproxEq and assert_approx_eq!

This trait seems to stray too far from the mandate of a standard library as implementations may vary between use cases.
Start the span for a path in a view_path at the correct place (at the start of the path, rather than at the start of the view_path).
Remove the io::Decorator trait

This is just an unnecessary trait that no one's ever going to parameterize over
and it's more useful to just define the methods directly on the types
themselves. The implementors of this type almost always don't want
inner_mut_ref() but they're forced to define it as well.
auto merge of #11387 : pcwalton/rust/de-at-block, r=alexcrichton

r? @brson
auto merge of #11394 : alexcrichton/rust/no-decorator, r=cmr

This is just an unnecessary trait that no one's ever going to parameterize over
and it's more useful to just define the methods directly on the types
themselves. The implementors of this type almost always don't want
inner_mut_ref() but they're forced to define it as well.
auto merge of #11402 : bjz/rust/remove-approx, r=alexcrichton

This trait seems to stray too far from the mandate of a standard library as implementations may vary between use cases. Third party libraries should implement their own if they need something like it.

This closes #5316.

r? @alexcrichton, @pcwalton
auto merge of #11412 : bjz/rust/num-cleanups, r=alexcrichton

The methods contained in `std::num::{Algebraic, Trigonometric, Exponential, Hyperbolic}` have now been moved into `std::num::Real`. This is part of an ongoing effort to simplify `std::num` (see issue #10387).

`std::num::RealExt` has also been removed from the prelude because it is not a commonly used trait.

r? @alexcrichton
auto merge of #11414 : nick29581/rust/span, r=alexcrichton

...at the start of the path, rather than at the start of the view_path.

Fixes #11317
Register new snapshots
Remove eof() from io::Reader
auto merge of #11376 : alexcrichton/rust/remove-eof, r=pcwalton

This is something I have been meaning to do for awhile, but upon inspection of the `eof` method on all of the `Reader` impls you may find some interesting surprises. The method returns a good answer for almost all wrapped I/O objects (buffered readers, mem readers, util readers, etc), but the actual return value on all I/O objects themselves is almost always useless.

Almost no I/O object other than a file actually knows when it's hit EOF or not. I think that pretending that all objects know when they've hit the end when almost none do is probably a bad idea. I can't really come up with a good answer to "is this file descriptor at eof" or "is this tcp stream at eof" much less "is this udp socket at eof". Due to being unable to answer these questions for *all* readers, I believe that it shouldn't be a part of the core `Reader` trait.
libsyntax: Renamed types, traits and enum variants to CamelCase.
Updated librustdoc and librustpkg to use the proper UpperCase names from libsyntax.
auto merge of #11417 : eddyb/rust/desnaking, r=bstrie
stop treating `Rc` cycles as unsafe
add a strong/weak reference counted pointer type
rename Strong -> Rc, replacing `rc` with `weak`