Commit Graph

7840 Commits

Author SHA1 Message Date
Alex Crichton 8993a0aeba rollup merge of #17730 : alexcrichton/snapshot 2014-10-03 07:38:41 -07:00
Alex Crichton 79d0e82f73 rollup merge of #17729 : alexcrichton/issue-17718-start 2014-10-03 07:38:29 -07:00
Alex Crichton 2a11f2b544 rollup merge of #17215 : P1start/lints 2014-10-03 07:38:12 -07:00
Eduard Burtescu da7dcee8f1 tests: remove old compile-fail test asserting the removal of const. 2014-10-03 14:26:07 +03:00
P1start a667a6917b Move the lint for the stability lints to the method name only
Closes #17337.
2014-10-03 20:39:57 +13:00
P1start f56c67ba86 Change rustc pretty-printing to print [T, ..n] instead of [T, .. n] 2014-10-03 20:39:56 +13:00
P1start 042cdeefc7 Correct error message for invalid ref/mut bindings
Closes #15914.
2014-10-03 20:39:56 +13:00
P1start 45044124e4 Improve the non_snake_case lint to give better suggestions 2014-10-03 20:39:56 +13:00
P1start 94bcd3539c Set the non_uppercase_statics lint to warn by default 2014-10-03 20:39:56 +13:00
bors 9a2286d3a1 auto merge of #16995 : kmcallister/rust/plugin-tutorial, r=alexcrichton
@steveklabnik, are you interested in looking this over?
2014-10-03 07:33:26 +00:00
Alex Crichton d911936dbd Merge branch 'travis' into rollup
Conflicts:
	.travis.yml
2014-10-02 21:02:36 -07:00
Alex Crichton 7e22af3582 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`.

cc #17718
2014-10-02 19:37:06 -07:00
Alex Crichton 06a6ba1d6f test: Don't depend on /bin/bash
Our FreeBSD bots apparently don't have bash installed, and it's ok to run with
sh anyway!

Unblocks a snapshot
2014-10-02 19:34:26 -07:00
Alex Crichton f96ee10e88 Test fixes from the rollup 2014-10-02 15:43:37 -07:00
Alex Crichton 7ae802f57b rollup merge of #17666 : eddyb/take-garbage-out
Conflicts:
	src/libcollections/lib.rs
	src/libcore/lib.rs
	src/librustdoc/lib.rs
	src/librustrt/lib.rs
	src/libserialize/lib.rs
	src/libstd/lib.rs
	src/test/run-pass/issue-8898.rs
2014-10-02 14:53:18 -07:00
Alex Crichton 9998052e21 rollup merge of #17722 : jakub-/issue-17169 2014-10-02 14:51:10 -07:00
Alex Crichton fba72d3825 rollup merge of #17721 : jakub-/resolved-issues 2014-10-02 14:51:05 -07:00
Alex Crichton 2bb44554de rollup merge of #17720 : ben0x539/shifts 2014-10-02 14:50:49 -07:00
Alex Crichton d596aa25e1 rollup merge of #17702 : nick29581/enable-dots-test 2014-10-02 14:50:30 -07:00
Alex Crichton 51820b610e rollup merge of #17646 : bkoropoff/cast-ice 2014-10-02 14:50:08 -07:00
Jakub Wieczorek 52d2f2a938 Add tests for a few resolved issues 2014-10-02 22:21:50 +02:00
Jakub Wieczorek f2973f63a3 Fix cross-crate tuple structs in statics
Fixes #17169.
Fixes #17649.
2014-10-02 21:31:06 +02:00
Benjamin Herr af633ce157 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.
2014-10-02 21:16:37 +02:00
Aaron Turon d2ea0315e0 Revert "Use slice syntax instead of slice_to, etc."
This reverts commit 40b9f5ded5.
2014-10-02 11:48:07 -07:00
Aaron Turon c0c6c89589 Revert "Remove the _ suffix from slice methods."
This reverts commit df2f1fa768.
2014-10-02 11:47:58 -07:00
Aaron Turon 7bf56df4c8 Revert "Put slicing syntax behind a feature gate."
This reverts commit 95cfc35607.
2014-10-02 11:47:51 -07:00
Keegan McAllister 3f0c483594 Disable the Roman numerals test on Android due to cross-compile issues 2014-10-02 11:45:25 -07:00
Eduard Burtescu 58bea31ca0 tests: remove uses of Gc. 2014-10-02 17:02:15 +03:00
Eduard Burtescu db55e70c97 syntax: mark the managed_boxes feature as Removed. 2014-10-02 17:02:03 +03:00
bors b419e9e739 auto merge of #17663 : eddyb/rust/method-origin-subst, r=nikomatsakis
Fixes #17662.
2014-10-02 13:22:21 +00:00
bors 84a4a07bbd auto merge of #17434 : P1start/rust/borrowck-messages, r=nikomatsakis
This was originally part of #17215.

Closes #15506.
Closes #15630.
Closes #17263.

This also partially implements #15838.
2014-10-02 11:32:25 +00:00
bors dd7f00de80 auto merge of #17681 : jgallagher/rust/dep-info-escape-spaces, r=alexcrichton
cc #17627
2014-10-02 08:12:19 +00:00
Nick Cameron 45fd7cd359 Enable a test for .. in range patterns. 2014-10-02 17:35:20 +13:00
P1start 02c6ebde7e 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.

Closes #15630.
2014-10-02 15:51:05 +13:00
Nick Cameron 95cfc35607 Put slicing syntax behind a feature gate.
[breaking-change]

If you are using slicing syntax you will need to add #![feature(slicing_syntax)] to your crate.
2014-10-02 13:23:36 +13:00
Nick Cameron df2f1fa768 Remove the _ suffix from slice methods.
Deprecates slicing methods from ImmutableSlice/MutableSlice in favour of slicing syntax or the methods in Slice/SliceMut.

Closes #17273.
2014-10-02 13:19:45 +13:00
Nick Cameron 40b9f5ded5 Use slice syntax instead of slice_to, etc. 2014-10-02 13:19:45 +13:00
P1start 35ff2def5d Clarify some borrowck errors
Closes #17263.
2014-10-02 11:21:59 +13:00
P1start a8577be6f4 Output a note when lifetimes cannot be elided from functions 2014-10-02 11:09:29 +13:00
bors a70a0374e2 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.
2014-10-01 21:27:19 +00:00
Keegan McAllister 61bf75bb5e Add a guide to compiler plugins
Fixes #16983.
2014-10-01 13:21:52 -07:00
bors b224dfe1a6 auto merge of #17678 : fhahn/rust/issue-17628-infinite-recursion, r=alexcrichton
This is a patch for #17628, thanks to @kmcallister for your helpful hints!
2014-10-01 19:37:18 +00:00
Aaron Turon 15966c3c1f Remove iotest macro
This commit removes the `iotest!` macro from `std::io`. The macro was
primarily used to ensure that all io-related tests were run on both
libnative and libgreen/librustuv. However, now that the librustuv stack
is being removed, the macro is no longer needed.

See the [runtime removal
RFC](https://github.com/rust-lang/rfcs/pull/230) for more context.

[breaking-change]
2014-10-01 10:34:39 -07:00
Aaron Turon 60b859ab8a Remove all use of librustuv 2014-10-01 10:33:11 -07:00
John Gallagher 2883b7682a Make --dep-info escape spaces in filenames
Closes #17627
2014-10-01 11:40:00 -04:00
bors 8ab6fce95e auto merge of #17653 : kaini/rust/master, r=alexcrichton
Fixes that unit-like structs cannot be used if they are re-exported and used in another crate. (ICE)
The relevant changes are in `rustc::metadata::{decoder, encoder}` and `rustc::middle::ty`.

A test case is included.

The problem is that the expressoin `UnitStruct` is an `ExprPath` to an `DefFn`, which is of expr kind `RvalueDatumExpr`, but for unit-struct ctors the expr kind should be `RvalueDpsExpr`. I fixed this (in a I guess clean way) by introducing `CtorFn` in the metadata and including a `is_ctor` flag in `DefFn`.
2014-10-01 11:27:23 +00:00
Florian Hahn 49e976d771 Limit recursion depth for macro expansions, closes #17628 2014-10-01 11:46:04 +02:00
bors 60e7317345 auto merge of #17501 : pcwalton/rust/improve-method-lookup-autoderef, r=nikomatsakis
prefer `Deref` over `DerefMut` in all other circumstances.

Because the compiler now prefers `Deref`, this can break code that
looked like:

    let mut foo = bar.borrow_mut();
    (*foo).call_something_that_requires_mutable_self();

Replace this code with:

    let mut foo = bar.baz();
    (&mut *foo).call_something_that_requires_mutable_self();

Closes #12825.

[breaking-change]

r? @nikomatsakis
2014-10-01 07:22:18 +00:00
bors 2f15dcd4d3 auto merge of #17584 : pcwalton/rust/range-patterns-dotdotdot, r=nick29581
This breaks code that looks like:

    match foo {
        1..3 => { ... }
    }

Instead, write:

    match foo {
        1...3 => { ... }
    }

Closes #17295.

r? @nick29581
2014-10-01 03:17:24 +00:00
Brian Koropoff 93408be788 Add regression test for issue #17444 2014-09-30 20:07:09 -07:00