auto merge of #10960 : brson/rust/android, r=alexcrichton
auto merge of #10923 : boredomist/rust/export-summary-members, r=alexcrichton

Several of the members of `extra::stats::Summary` were calculated and tested, but not exposed externally. This change exposes all of the members.
Check more live Path nodes in dead-code pass
Dead-code pass now marks and warns foreign items
auto merge of #10921 : alexcrichton/rust/libuv-upgrade, r=brson

This allows building of libuv for android with a host OS of OSX.
Suppress warnings in run-pass tests
auto merge of #10931 : sfackler/rust/base64-visibility, r=alexcrichton

These got swept up in the great privatizing of 2013.
auto merge of #10935 : sanxiyn/rust/fk-anon, r=pcwalton
Remove {As,Into,To}{Option,Either,Result} traits.

Expanded, that is:

- `AsOption`
- `IntoOption`
- `ToOption`
- `AsEither`
- `IntoEither`
- `ToEither`
- `AsResult`
- `IntoResult`
- `ToResult`

These were defined for each other but never *used* anywhere. They are
all trivial and so removal will have negligible effect upon anyone.
`Either` has fallen out of favour (and its implementation of these
traits of dubious semantics), `Option<T>` → `Result<T, ()>` was never
really useful and `Result<T, E>` → `Option<T>` should now be done with
`Result.ok()` (mirrored with `Result.err()` for even more usefulness).

In summary, there's really no point in any of these remaining.
auto merge of #10933 : TeXitoi/rust/shootout-fasta-rewrite, r=alexcrichton

improvements:
 - no managed box
 - no virtual calls
 - no useless copy
 - optimizations (bisect is slower, limit tests, BufferedWriter...)
 - pass shootout test
 - 10 times faster
Rename To{Str,Bytes}Consume traits to Into*.

That is:

- `ToStrConsume` → `IntoStr`;
- `ToBytesConsume` → `IntoBytes`.
auto merge of #10938 : jhasse/rust/patch-rustpkg, r=alexcrichton

rustpkg assumes library files to be in a directory called `lib`, but on Windows they are instead in the `bin` directory. This patch changes nothing on Unix system, since `libdir()` returns `"lib"` there.
auto merge of #10944 : metajack/rust/pkgid-docs, r=cmr
auto merge of #10949 : fabricedesre/rust/no-gnustl, r=cmr
Fix #10754 - `std::run` functions fail after io_error

The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option<run::Process>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option<ProcessExit> and Option<ProcessOutput>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
auto merge of #10870 : ktt3ja/rust/issue-10865, r=alexcrichton

Fix #10865 and #10939.
auto merge of #10936 : cadencemarseille/rust/issue-10754-std-run-unwrap-on-None, r=alexcrichton

The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option\<run::Process\>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option\<ProcessExit\> and Option\<ProcessOutput\>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
auto merge of #10952 : huonw/rust/1ms-bench, r=cmr

This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
Add "proc" as keyword to emacs mode
Remove tabs from configure script