Commit Graph

97261 Commits

Author SHA1 Message Date
bors
2c13edcd9d Auto merge of #63199 - ehuss:fix-rustc-guide-toolstate, r=kennytm
Fix rustc-guide toolstate tracking.

The rustc-guide is still not saving its toolstate.  It needs to be done explicitly.

Note: There are some confusing bits here, like without `--no-fail-fast`, it saves the wrong value in `toolstates.json`.  Also, "rustbook" is always added as "test-fail".  Presumably [this code](63c1f17d95/src/bootstrap/tool.rs (L201-L205)) assumes everything fails until it passes tests, which is a bit confusing for things that don't run tests.

cc @mark-i-m
2019-08-04 03:36:10 +00:00
bors
17099768ea Auto merge of #63235 - Xanewok:update-rls, r=Centril
Update Rustfmt and RLS

Closes #63195

cc @topecongiro
2019-08-03 23:57:22 +00:00
Vadim Petrochenkov
2a9b75281b Move special treatment of derive(Copy, PartialEq, Eq) from expansion infrastructure to elsewhere 2019-08-03 23:57:35 +03:00
Esteban Küber
2c5684208c avoid mutable state and override main message 2019-08-03 13:37:44 -07:00
bors
6e0d27d936 Auto merge of #63059 - Centril:sound-bind-by-move, r=matthewjasper
Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]`

Implements https://github.com/rust-lang/rust/issues/15287#issuecomment-507054617 making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in https://github.com/rust-lang/rust/pull/63118.

As fall out from the implementation we also:
Fixes https://github.com/rust-lang/rust/issues/31287
Fixes https://github.com/rust-lang/rust/issues/27282

r? @matthewjasper
2019-08-03 20:11:25 +00:00
Ralf Jung
89a370db0f add variant for experimental UB (like Stacked Borrows) 2019-08-03 20:36:05 +02:00
Ralf Jung
fe08d9e2d2 also add macros for free-form error messages 2019-08-03 20:35:52 +02:00
bors
452087b4bf Auto merge of #63242 - pietroalbini:move-azure-pipelines, r=Mark-Simulacrum
ci: move .azure-pipelines to src/ci/azure-pipelines

As discussed in the last infra meeting this PR moves the Azure Pipelines configuration to `src/ci/azure-pipelines`, to clean up the root directory.

r? @Mark-Simulacrum
2019-08-03 16:23:31 +00:00
Pietro Albini
6e3c4c3b8e
ci: move .azure-pipelines to src/ci/azure-pipelines 2019-08-03 18:21:38 +02:00
Mazdak Farrokhzad
b289f6f2a4 cargotest: servo -> caac107ae8145ef2fd20365e2b8fadaf09c2eb3b 2019-08-03 14:53:01 +02:00
bors
a457433456 Auto merge of #63234 - Centril:rollup-h9t731z, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #62954 (Fix typo in Delimited::open_tt)
 - #63146 (Cleanup syntax::attr)
 - #63218 (rustbuild: RISC-V is no longer an experimental LLVM target)
 - #63227 (dead_code: Properly inspect fields in struct patterns with type relative paths)
 - #63229 (A bit of Miri error cleanup)

Failed merges:

r? @ghost
2019-08-03 12:20:42 +00:00
Ralf Jung
3b9cda4693
Apply suggestions from code review
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-03 13:45:15 +02:00
Mazdak Farrokhzad
42dfdc5aa5
Rollup merge of #63229 - RalfJung:miri-error, r=oli-obk
A bit of Miri error cleanup

Some cleanup after https://github.com/rust-lang/rust/pull/62969.

r? @oli-obk
Cc @saleemjaffer
2019-08-03 13:12:04 +02:00
Mazdak Farrokhzad
2fd9548039
Rollup merge of #63227 - jakubadamw:issue-63151, r=estebank
dead_code: Properly inspect fields in struct patterns with type relative paths

Closes #63151.
2019-08-03 13:12:02 +02:00
Mazdak Farrokhzad
6a38ef7abd
Rollup merge of #63218 - lenary:riscv-non-experimental, r=alexcrichton
rustbuild: RISC-V is no longer an experimental LLVM target

This moves RISC-V from the experimental LLVM targets to the
regular LLVM targets. RISC-V was made non-experimental in
https://reviews.llvm.org/rL366399

I have also sorted the list of LLVM targets, and changed the code
around setting llvm_exp_targets (and its default) to match the code
setting llvm_targets (and its default), ensuring future changes to
the defaults, as LLVM targets become stable, affect as few places as
possible.

Given WebAssembly is in `LLVM_ALL_TARGETS` and is therefore built by default (and has been since October 2018), I'm not sure why rust still has it in `experimental-targets`. I'm happy to update this PR to move it into the main list of LLVM targets.

r? @alexcrichton
2019-08-03 13:12:01 +02:00
Mazdak Farrokhzad
15b5aacab6
Rollup merge of #63146 - Mark-Simulacrum:clean-attr, r=petrochenkov
Cleanup syntax::attr

Mostly removing needless arguments to constructors

r? @petrochenkov
2019-08-03 13:11:59 +02:00
Mazdak Farrokhzad
42a3281275
Rollup merge of #62954 - ia0:fix_typo_span, r=Centril
Fix typo in Delimited::open_tt
2019-08-03 13:11:57 +02:00
Igor Matuszewski
5bcce8269d Update Rustfmt and RLS 2019-08-03 13:05:42 +02:00
Ralf Jung
f44abba4ec clarify that unchecked indexing is UB even if the reference is never used 2019-08-03 12:46:20 +02:00
Thomas de Zeeuw
dad56c3947 Add {IoSlice, IoSliceMut}::advance 2019-08-03 10:44:45 +02:00
bors
8e917f4838 Auto merge of #62946 - RalfJung:miri_type_dispatch_first, r=oli-obk
Miri: dispatch first on the type

Based on the fact that Miri now always has intptrcast available, we can change binops and casts to first check the type of the source operand and then decide based on that what to do, instead of considering the value (pointer vs bits) first.
2019-08-03 08:33:07 +00:00
Eric Huss
2da89dea4b Fix rustc-guide toolstate tracking. 2019-08-02 21:28:16 -07:00
bors
d7270712cb Auto merge of #63180 - varkor:trait-alias-impl-trait, r=Centril
Change opaque type syntax from `existential type` to type alias `impl Trait`

This implements a new feature gate `type_alias_impl_trait` (this is slightly different from the originally proposed feature name, but matches what has been used in discussion since), deprecating the old `existential_types` feature.

The syntax for opaque types has been changed. In addition, the "existential" terminology has been replaced with "opaque", as per previous discussion and the RFC.

This makes partial progress towards implementing https://github.com/rust-lang/rust/issues/63063.

r? @Centril
2019-08-03 02:21:23 +00:00
Tyler Mandry
9d4ca879b8 Add niche-in-generator test 2019-08-02 18:06:50 -07:00
bors
d9bd4b289f Auto merge of #63228 - Centril:rollup-x39p5ga, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #63107 (Added support for armv7-unknown-linux-gnueabi/musleabi)
 - #63121 (On `format!()` arg count mismatch provide extra info)
 - #63196 (build_helper: try less confusing method names)
 - #63206 (remove unsupported test case)
 - #63208 (Round generator sizes to a multiple of their alignment)
 - #63212 (Pretty print attributes in `print_arg`)
 - #63215 (Clarify semantics of mem::zeroed)

Failed merges:

r? @ghost
2019-08-02 22:44:53 +00:00
Ralf Jung
e5fc9572d9 bless 2019-08-03 00:20:06 +02:00
Mazdak Farrokhzad
4520a39b94
Rollup merge of #63215 - gnzlbg:patch-6, r=Centril
Clarify semantics of mem::zeroed

Clarifies the semantics of `mem::zeroed`.

r? @Centril

cc @RalfJung
2019-08-03 00:09:14 +02:00
Mazdak Farrokhzad
f6d8977fbb
Rollup merge of #63212 - Centril:param-attrs-pretty, r=davidtwco
Pretty print attributes in `print_arg`

Fixes https://github.com/rust-lang/rust/issues/63210.
cc https://github.com/rust-lang/rust/issues/60406

r? @petrochenkov
2019-08-03 00:09:12 +02:00
Mazdak Farrokhzad
109b21f7b7
Rollup merge of #63208 - tmandry:issue-62658, r=cramertj
Round generator sizes to a multiple of their alignment

Fixes #62658.

r? @cramertj
cc @eddyb
2019-08-03 00:09:11 +02:00
Mazdak Farrokhzad
ed7b0447cb
Rollup merge of #63206 - BaoshanPang:master, r=alexcrichton
remove unsupported test case

r? @alexcrichton
2019-08-03 00:09:09 +02:00
Mazdak Farrokhzad
726f39a258
Rollup merge of #63196 - RalfJung:build_helper, r=alexcrichton
build_helper: try less confusing method names

build_helper's `*_silent` methods were likely called that way because they do not print the command being run to stdout. [In the original file this all makes sense](046e6874c4 (diff-5c3d6537a43ecae03014e118a7fe3321)). But later it also gained `*_suppressed` methods and the difference between `silent` and `suppressed` is far from clear.

So rename `run` (which prints the command being run) to `run_verbose`. Then we can call the methods that just run a command and show its output but nothing extra `run` and `try_run`.

`run_verbose` (formerly `run`) is unused from what I can tell. Should I remove it?

r? @alexcrichton
Cc @Mark-Simulacrum
Also see https://github.com/rust-lang/rust/pull/63089#discussion_r308018890.
2019-08-03 00:09:07 +02:00
Mazdak Farrokhzad
edc846f29e
Rollup merge of #63121 - estebank:formatting-pos, r=alexcrichton
On `format!()` arg count mismatch provide extra info

When positional width and precision formatting flags are present in a
formatting string that has an argument count mismatch, provide extra
information pointing at them making it easiser to understand where the
problem may lay:

```
error: 4 positional arguments in format string, but there are 3 arguments
  --> $DIR/ifmt-bad-arg.rs:78:15
   |
LL |     println!("{} {:.*} {}", 1, 3.2, 4);
   |               ^^ ^^--^ ^^      --- this parameter corresponds to the precision flag
   |                    |
   |                    this precision flag adds an extra required argument at position 1, which is why there are 4 arguments expected
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: 4 positional arguments in format string, but there are 3 arguments
  --> $DIR/ifmt-bad-arg.rs:81:15
   |
LL |     println!("{} {:07$.*} {}", 1, 3.2, 4);
   |               ^^ ^^-----^ ^^      --- this parameter corresponds to the precision flag
   |                    |  |
   |                    |  this precision flag adds an extra required argument at position 1, which is why there are 4 arguments expected
   |                    this width flag expects an `usize` argument at position 7, but there are 3 arguments
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: invalid reference to positional argument 7 (there are 3 arguments)
  --> $DIR/ifmt-bad-arg.rs:84:18
   |
LL |     println!("{} {:07$} {}", 1, 3.2, 4);
   |                  ^^^--^
   |                     |
   |                     this width flag expects an `usize` argument at position 7, but there are 3 arguments
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html
```

Fix #49384.
2019-08-03 00:09:06 +02:00
Mazdak Farrokhzad
a2735a3e0d
Rollup merge of #63107 - adrian-budau:master, r=alexcrichton
Added support for armv7-unknown-linux-gnueabi/musleabi

Fixes #63101

Some things that are not done and I hope someone can help me with:

* During the ci build of `armv7-unknown-linux-gnueabi` `openssl` must be built (to build cargo) but `openssl` does not yet support this target. This feels slightly like a chicken-and-egg problem, any feedback is welcome.
* Should I add any tests for any of these targets?
2019-08-03 00:09:04 +02:00
Jakub Adam Wieczorek
8235b6f8c3 dead_code: Properly inspect fields in struct patterns with type relative paths 2019-08-02 21:56:34 +00:00
Ralf Jung
1e24c73ae5 dedup free-form Unsupported errors; add macros for free-form UB and Unsupported cases 2019-08-02 23:41:24 +02:00
Ralf Jung
1b132a2f41 be less British 2019-08-02 23:31:21 +02:00
Ralf Jung
b9db95edb1 fix rebase fallout 2019-08-02 23:04:11 +02:00
Ralf Jung
0f97583e68 const_prop no longer does ptr-to-int casts 2019-08-02 23:04:11 +02:00
Ralf Jung
f06a274880 bless all the things 2019-08-02 23:04:11 +02:00
Ralf Jung
5fa443ddee trailing full stops
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-02 23:04:11 +02:00
Ralf Jung
7b30612c9b add is_any_ptr type test; this also helps pacify tidy 2019-08-02 23:04:11 +02:00
Ralf Jung
144e5e99b5 get rid of some remaining type-based dispatching in cast code 2019-08-02 23:04:10 +02:00
Ralf Jung
0cf43291d7 also test error messages 2019-08-02 23:02:54 +02:00
Ralf Jung
0de6873a31 miri: validity checks alignment even when machine otherwise does not 2019-08-02 23:02:54 +02:00
Ralf Jung
30c63aa2b8 assert consistency 2019-08-02 23:02:53 +02:00
Ralf Jung
a2152d257f tidy is reaching new levels every day... 2019-08-02 23:02:53 +02:00
Ralf Jung
e590b849b8 CTFE: simplify Value type by not checking for alignment 2019-08-02 23:02:53 +02:00
Ralf Jung
7885fac7e9 improve error when CTFE does ptr-int-cast; update tests 2019-08-02 23:01:53 +02:00
Ralf Jung
26c55ec050 fix casts from fat pointers 2019-08-02 22:48:07 +02:00
Ralf Jung
780e1fc5df use From to convert scalars to immediates 2019-08-02 22:48:07 +02:00