Commit graph

16347 commits

Author SHA1 Message Date
bors
c2ecab1121 Auto merge of #46732 - estebank:silence-recovered-blocks, r=petrochenkov
Do not emit type errors on recovered blocks

When a parse error occurs on a block, the parser will recover and create
a block with the statements collected until that point. Now a flag
stating that a recovery has been performed in this block is propagated
so that the type checker knows that the type of the block (which will be
identified as `()`) shouldn't be checked against the expectation to
reduce the amount of irrelevant diagnostic errors shown to the user.

Fix #44579.
2017-12-22 07:22:33 +00:00
Esteban Küber
d90d5d19da Mark clippy as broken 2017-12-21 15:09:26 -08:00
kennytm
71c6d23612 Rollup merge of #46636 - frewsxcv:frewsxcv-fn-box, r=estebank
Replace libtest/lib.rs:FnBox with std::boxed::FnBox.

Fixes https://github.com/rust-lang/rust/issues/41810.
2017-12-22 02:50:45 +08:00
bors
957dc8de63 Auto merge of #46531 - cramertj:no-mo-modrs, r=nikomatsakis
Implement non-mod.rs mod statements

Fixes https://github.com/rust-lang/rust/issues/45385, cc https://github.com/rust-lang/rust/issues/44660

This will fail tidy right now because it doesn't recognize my UI tests as feature-gate tests. However, I'm not sure if compile-fail will work out either because compile-fail usually requires there to be error patterns in the top-level file, which isn't possible with this feature. What's the recommended way to handle this?
2017-12-21 05:24:45 +00:00
kennytm
4d9ed87437 Rollup merge of #46751 - michaelwoerister:c-incremental, r=alexcrichton
incr.comp.: Add `-C incremental` in addition to `-Z incremental`

This PR adds a stable commandline option for invoking incremental compilation.

r? @alexcrichton
2017-12-20 21:21:54 +08:00
Taylor Cramer
e3c229802f Break rls 2017-12-19 14:59:14 -08:00
Taylor Cramer
b82e2e9db1 Break rustfmt 2017-12-19 14:59:13 -08:00
Taylor Cramer
07f51fb868 Implement non-mod.rs mod statements 2017-12-19 14:58:51 -08:00
Michael Woerister
796264b6df incr.comp.: Add -Cincremental in addition to -Zincremental 2017-12-18 14:37:24 +01:00
bors
3cc68bac7c Auto merge of #46436 - eddyb:unpacked, r=arielb1,oli-obk
Detect unaligned fields via `aggregate.align < field.align`, instead of a `packed` flag.

Closes #46423. cc @oli-obk
2017-12-17 15:46:00 +00:00
Eduard-Mihai Burtescu
799a83ca2f Mark miri as broken. 2017-12-17 16:34:54 +02:00
John Kåre Alsaker
970c613e4a Add sync module to rustc_data_structures 2017-12-17 14:14:51 +01:00
bors
4f2ef415ba Auto merge of #46743 - oli-obk:miri, r=eddyb
Some miri cleanups

r? @eddyb
2017-12-16 16:16:16 +00:00
Oliver Schneider
2d161f10e5
Allow easily creating cheap eval context instances 2017-12-15 16:56:58 +01:00
Corey Farwell
4f04f975ae Replace libtest/lib.rs:FnBox with std::boxed::FnBox.
Fixes https://github.com/rust-lang/rust/issues/41810.
2017-12-15 09:11:14 -05:00
Oliver Schneider
b1e759762e
Update the rls and rustfmt submodules 2017-12-15 12:29:20 +01:00
bors
2f351415e5 Auto merge of #46641 - petrochenkov:nohelp2, r=nikomatsakis
Move compile-fail tests with NOTE/HELP annotations to UI

Remove NOTE/HELP annotations from UI tests

cc https://github.com/rust-lang/rust/issues/44844 @oli-obk @est31
r? @nikomatsakis
2017-12-15 00:11:40 +00:00
bors
0077d128d3 Auto merge of #45047 - durka:trait-alias, r=petrochenkov
trait alias infrastructure

This will be an implementation of trait aliases (RFC 1733, #41517).

Progress so far:

- [x] Feature gate
- [x] Add to parser
  - [x] `where` clauses
    - [x] prohibit LHS type parameter bounds via AST validation https://github.com/rust-lang/rust/pull/45047#discussion_r143575575
- [x] Add to AST and HIR
  - [x] make a separate PathSource for trait alias contexts https://github.com/rust-lang/rust/pull/45047#discussion_r143353932
- [x] Stub out enough of typeck and resolve to just barely not ICE

Postponed:

- [ ] Actually implement the alias part
- [ ] #21903
- [ ] #24010

I need some pointers on where to start with that last one. The test currently does this:

```
error[E0283]: type annotations required: cannot resolve `_: CD`
  --> src/test/run-pass/trait-alias.rs:34:16
   |
34 |     let both = foo();
   |                ^^^
   |
   = note: required by `foo`
```
2017-12-14 20:57:09 +00:00
Vadim Petrochenkov
c3a7d36c6e Support regexes in custom normalization in UI tests 2017-12-14 23:26:40 +03:00
Alex Burka
834674fa1d rls depends on rustfmt 2017-12-14 12:56:27 -05:00
bors
2974104276 Auto merge of #45002 - oli-obk:miri, r=eddyb
Validate miri against the HIR const evaluator

r? @eddyb

cc @alexcrichton @arielb1 @RalfJung

The interesting parts are the last few functions in `librustc_const_eval/eval.rs`

* We warn if miri produces an error while HIR const eval does not.
* We warn if miri produces a value that does not match the value produced by HIR const eval
* if miri succeeds and HIR const eval fails, nothing is emitted, but we still return the HIR error
* if both error, nothing is emitted and the HIR const eval error is returned

So there are no actual changes, except that miri is forced to produce the same values as the old const eval.

* This does **not** touch the const evaluator in trans at all. That will come in a future PR.
* This does **not** cause any code to compile that didn't compile before. That will also come in the future

It would be great if someone could start a crater run if travis passes
2017-12-14 15:37:39 +00:00
Oliver Schneider
1ba46dc378
Move mir validation out of tree 2017-12-14 11:36:28 +01:00
Oliver Schneider
d732da813b
Use PathBuf instead of String where applicable 2017-12-14 11:22:08 +01:00
Oliver Schneider
acac58502b
Move large chunks of miri from rustc::mir::interpret to rustc_mir::interpret 2017-12-12 17:27:07 +01:00
Oliver Schneider
7e5583b7f8
Merge remote-tracking branch 'origin/master' into miri 2017-12-11 10:01:29 +01:00
Tommy Ip
81b8db2180 Imply must-compile-successfully in ui-tests when the run-pass flag is present. 2017-12-10 21:14:57 +00:00
Tommy Ip
5990b8b57c Enforce successful ui tests to have must-compile-successfully flag. 2017-12-10 21:14:57 +00:00
bors
9c49f401fe Auto merge of #46532 - est31:master, r=est31
Allow feature-gate tests to live in ui/ and migrate most of the tests from compile-fail

The PR consists of three commits:

1. change tidy to allow feature-gate tests to live in ui/
2. migrate some feature gate tests to ui/ with renaming only
3. migrate some feature gate tests to ui/ with also removing `// gate-test-...` lines and renaming them to the standard `feature-gate-<feat-name>.rs` format.
2017-12-07 18:13:10 +00:00
Niko Matsakis
2ec959fc35 extend MIR dump with detailed, extra information 2017-12-07 05:27:58 -05:00
est31
8ba9f9ecf0 Tidy: allow feature-gate tests to be ui tests
ui tests are the future, especially since the
recent improvement where we have gained
checking and requiring of //~ERROR comments.

The tidy feature-gate test check is intended
to be 50% an actual insurance that there is
a check, and 50% to be a teacher that such
checks are required.

With this commit applied, newbies might
interpret stuff wrongly and create tests
that don't fail but succeed instead.

This is not what feature gate tests are
for though. Therefore, in a later step,
when only ui tests are allowed to be feature
gate tests, we will add checking to ensure
that a file marked as gate test is actually
required to be a compilation failure.

Right now implementing such a check is a
bit annoying as one needs to only do it
when the compile-fail test is in the
ui test suite :/.
2017-12-07 10:11:21 +01:00
Niko Matsakis
7b456c053c pacify the mercilous tidy 2017-12-06 09:42:09 -05:00
Oliver Schneider
0f6b5b0423
Update miri submodule 2017-12-06 15:12:49 +01:00
Oliver Schneider
a792b6c914
Merge remote-tracking branch 'origin/master' into miri 2017-12-06 13:41:46 +01:00
Niko Matsakis
8681290240 compiletest: account for ui reference files when deciding to skip 2017-12-06 06:31:10 -05:00
Niko Matsakis
a4cafe46c2 runtest: rustfmt 2017-12-06 06:20:58 -05:00
Oliver Schneider
acdf83f228
Update miri to rustc changes 2017-12-06 09:25:29 +01:00
Nick Cameron
36c380292c Update Cargo 2017-12-06 18:21:14 +13:00
Nick Cameron
75029259b3 Update rls and rustfmt 2017-12-06 18:18:44 +13:00
Marco A L Barbosa
bea65d4041 Add armv5te-unknown-linux-gnueabi to cross builder 2017-12-05 07:46:24 -02:00
bors
8bcbf91a86 Auto merge of #46326 - GuillaumeGomez:sidebar-text, r=QuietMisdreavus
Fix invalid HTML escape

Fixes #46289.

r? @QuietMisdreavus
2017-12-02 07:49:32 +00:00
kennytm
613da5c1f4 Rollup merge of #46376 - SimonSapin:cargoup, r=kennytm
Update Cargo to Wed Nov 29 15:19:05 2017 +0000

5bb478a518

Pick up `workspace.default-members` support: https://github.com/rust-lang/cargo/pull/4743
2017-12-02 01:38:55 +08:00
bors
804b15be82 Auto merge of #45846 - pietroalbini:use-nested-groups, r=petrochenkov
Add nested groups in imports

This PR adds support for nested groups in imports (rust-lang/rfcs#2128, tracking issue #44494).

r? @petrochenkov
2017-12-01 03:25:54 +00:00
Oliver Schneider
208deac1c9
Reenable clippy 2017-11-30 16:12:24 +01:00
Pietro Albini
f7f69512c8
Mark rustfmt and rls as broken 2017-11-30 13:24:59 +01:00
Simon Sapin
2544b9fbf0 Update Cargo to Wed Nov 29 15:19:05 2017 +0000
5bb478a518

Pick up `workspace.default-members` support:
https://github.com/rust-lang/cargo/pull/4743
2017-11-30 09:02:23 +01:00
Guillaume Gomez
35f5be6646 Fix invalid HTML escape 2017-11-29 19:33:04 +01:00
Nick Cameron
1cec22e157 Update Rustfmt again 2017-11-29 20:34:06 +13:00
Nick Cameron
500b791b30 Update Cargo
Pulls in https://github.com/rust-lang/cargo/pull/4762 fixing a broken test which prevented the RLS update
2017-11-29 19:15:54 +13:00
Nick Cameron
1b50f68135 Update RLS and Rustfmt 2017-11-29 19:15:46 +13:00
kennytm
81ba35228c Rollup merge of #46275 - dtolnay:compiletest-libc, r=Mark-Simulacrum
Compiletest libc dependency can be unix-only

In main.rs libc is imported as:

```rust
#[cfg(unix)]
extern crate libc;
```

This came up in https://github.com/laumann/compiletest-rs/pull/90.
2017-11-28 03:16:48 +08:00