Alex Crichton [Thu, 2 Oct 2014 22:06:08 +0000 (15:06 -0700)]
syntax: Enable parsing of `const` globals
This rewrites them to the current `ItemStatic` production of the compiler, but I
want to get this into a snapshot. It will be illegal to use a `static` in a
pattern of a `match` statement, so all those current uses will need to be
rewritten to `const` once it's implemented. This requires that the stage0
snapshot is able to parse `const`.
bors [Thu, 2 Oct 2014 23:42:31 +0000 (23:42 +0000)]
auto merge of #17715 : aturon/rust/revert-slice-ops-libs, r=alexcrichton
This PR reverts https://github.com/rust-lang/rust/pull/17620, which caused a significant regression for slices.
As discussed with @alexcrichton, all of the public-facing changes of the earlier PR need to be rolled back, and it's not clear that we should move the libraries over to this new notation yet anyway (especially given its feature-gated status).
Alex Crichton [Thu, 2 Oct 2014 20:50:43 +0000 (13:50 -0700)]
travis: Stop building and testing rust
Instead, only run `make tidy`. The tidy script can run quite quickly, and it's
super annoying to run tests for 50 minutes only to have bors fail with a
"trailing whitespace" error.
Alex Crichton [Thu, 2 Oct 2014 20:50:43 +0000 (13:50 -0700)]
travis: Stop building and testing rust
Instead, only run `make tidy`. The tidy script can run quite quickly, and it's
super annoying to run tests for 50 minutes only to have bors fail with a
"trailing whitespace" error.
Alex Crichton [Thu, 2 Oct 2014 20:14:14 +0000 (13:14 -0700)]
std: Help diagnose a flaky test
This test has recently been failing on the bots, and I'm not entirely sure why.
I haven't been able to reproduce locally or on the bots, so I'm adding some
messages to help diagnose the problem hopefully.
Benjamin Herr [Thu, 2 Oct 2014 18:55:26 +0000 (20:55 +0200)]
native: fix passing errno to parent after fork
The bitshifts were wrong in that they invoked undefined behavior and
only passed the lower byte of the presumed-to-be-32bit errno value.
Apparently all actually possible values for errno happen to be easily
under 256, so this didn't cause any actual problems.
This commit fixes the bitshifts, but doesn't generalize to errno types
that aren't 32bit.
Change the `use of moved value` error to be more accurate
Previously it output `partially moved` to eagerly. This updates it to be more
accurate and output `collaterally moved` for use of values that were invalidated
by moves out of different fields in the same struct.
bors [Thu, 2 Oct 2014 01:22:20 +0000 (01:22 +0000)]
auto merge of #17381 : tbu-/rust/pr_mapinplace2, r=aturon
Additionally, support zero-sized types.
Now there isn't a safe interface of `PartialVec` anymore, it's just a bare data structure with destructor that assumes you handled everything correctly before.
bors [Wed, 1 Oct 2014 21:27:19 +0000 (21:27 +0000)]
auto merge of #17673 : aturon/rust/remove-uv, r=alexcrichton
This PR begins the process of [runtime removal](https://github.com/rust-lang/rfcs/pull/230) by dismantling the `librustuv` crate and associated event loop.
The result is that, while `libgreen` can still be used for task scheduling purposes, it will no longer be feasible to use green-threaded I/O.
Removing the libuv-based event loop eases the transition away from the runtime system, which will be done incrementally.
In terms of visible API changes, this PR:
* Removes `std::io::signal`, which was never implemented on the native threading model.
* Removes the `iotest!` macro, which was previously used to run I/O tests on both green and native threading models.
* Removes the `green_start!` macro for starting an application with a `librustuv` event loop.
* Removes the `librustuv` crate itself.
It also removes the `libuv` and `gyp` submodules and adjusts the build system and copyright notices accordingly.
If you wish to continue using `librustuv` and green-threaded I/O, consider using [green-rs](https://github.com/alexcrichton/green-rs/), which provides its own I/O stack.