Commit graph

97050 commits

Author SHA1 Message Date
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
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
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
varkor
fbd7e0cf0e Fix broken test and nit 2019-08-02 21:13:58 +01:00
bors
b0e40bfba4 Auto merge of #62309 - jlevon:62302, r=alexcrichton
provide thread name to OS for Solarish systems

Fixes #62302

Passes a Linux bootstrap build. python x.py test src/tools/tidy happy.
I tested this with a small test binary that spawns a few threads, and verified
that:

 - on an illumos system lacking the libc function, the binary runs but no OS-level
    thread names are set
 - on an illumos system with the feature, the binary runs, and the thread names are
    visible and correct under tools like MDB, pstack, core dump, etc.
2019-08-02 19:06:53 +00:00
Adrian Budau
2b0f4483d2
Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.
Support for the targets in the compiler and std build in the CI.
2019-08-02 20:06:36 +03:00
Sam Elliott
2921de63bb rustbuild: correct line length 2019-08-02 17:40:57 +01:00
Baoshan Pang
208672f0d5 remove unsupported test case 2019-08-02 09:32:46 -07:00
Sam Elliott
9cb948feea rustbuild: WebAssembly is no longer an experimental LLVM backend 2019-08-02 17:05:59 +01:00
bors
cf048cc115 Auto merge of #63207 - petrochenkov:outest2, r=Mark-Simulacrum
Unconfigure compiler unit test files during normal build

I haven't touched libstd though, it had a lot of tests and I'm not sure the people maintaining it want this.

Closes https://github.com/rust-lang/rust/issues/61097
r? @Mark-Simulacrum
2019-08-02 15:22:50 +00:00
Sam Elliott
184fb08037 rustbuild: RISC-V is no longer an experimental LLVM target
This commit 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.
2019-08-02 15:39:43 +01:00
gnzlbg
3725e3542f
Consistency. 2019-08-02 15:07:19 +02:00
gnzlbg
13b4afe4ba
Remove trailing whitespace
I had one job...
2019-08-02 14:12:12 +02:00
gnzlbg
57f94237e1
Clarify semantics of mem::zeroed 2019-08-02 13:39:07 +02:00
bors
1df512fcae Auto merge of #63214 - Centril:rollup-hdb7dnx, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #62663 (More questionmarks in doctests)
 - #62969 (Changing the structure of `mir::interpret::InterpError`)
 - #63153 (Remove redundant method with const variable resolution)
 - #63189 (Doc improvements)
 - #63198 (Allow trailing comma in macro 2.0 declarations.)
 - #63202 (Fix ICE in #63135)
 - #63203 (Make is_mutable use PlaceRef instead of it's fields)

Failed merges:

r? @ghost
2019-08-02 11:24:13 +00:00
Mazdak Farrokhzad
97098f466a
Rollup merge of #63203 - spastorino:is-mutable-use-place-ref, r=oli-obk
Make is_mutable use PlaceRef instead of it's fields

r? @oli-obk
2019-08-02 12:14:23 +02:00
Mazdak Farrokhzad
3396550420
Rollup merge of #63202 - exphp-forks:parser-ice-63135, r=estebank
Fix ICE in #63135

Closes #63135.

r?@estebank
2019-08-02 12:14:21 +02:00
Mazdak Farrokhzad
89dce46efd
Rollup merge of #63198 - rbartlensky:fix-macro-trailing-comma, r=petrochenkov
Allow trailing comma in macro 2.0 declarations.

This should hopefully close #63102.
2019-08-02 12:14:20 +02:00
Mazdak Farrokhzad
dbfe12daed
Rollup merge of #63189 - waywardmonkeys:doc-improvements, r=Centril
Doc improvements

Miscellaneous documentation fixes.
2019-08-02 12:14:18 +02:00
Mazdak Farrokhzad
5155c7ea68
Rollup merge of #63153 - varkor:remove-resolve_const_var, r=cramertj
Remove redundant method with const variable resolution

I've also removed a `bug!()` in const value relation code and replaced it with a `FIXME`. Now `ConstValue::Slice` and `ConstValue::ByRef` will simply fail to unify rather than ICEing, which seems more user-friendly for testers.
2019-08-02 12:14:17 +02:00
Mazdak Farrokhzad
51dc78e4cc
Rollup merge of #62969 - saleemjaffer:declutter_interperror, r=RalfJung
Changing the structure of `mir::interpret::InterpError`

Implements [this](https://github.com/rust-rfcs/const-eval/issues/4#issuecomment-514559965)
2019-08-02 12:14:15 +02:00
Mazdak Farrokhzad
6b951c2950
Rollup merge of #62663 - llogiq:more-questionmark-docs, r=GuillaumeGomez
More questionmarks in doctests

This removes the other `unwrap`s in the macro doctests, replacing them with `?`. For now, we need to specify the main function including the return type, we can get rid of that once the return type suggestion for `fn main() { .. }` works correctly.

r? @QuietMisdreavus
2019-08-02 12:14:14 +02:00
John Levon
6be2d9ae86 provide thread name to OS for Solarish systems 2019-08-02 09:37:23 +01:00
bors
fc3ef9698f Auto merge of #61393 - gnzlbg:update_libc, r=gnzlbg
Update Cargo.lock
2019-08-02 07:45:05 +00:00
Mazdak Farrokhzad
d1c89d64bc Test for printing attrs on formal params. 2019-08-02 09:35:28 +02:00
Mazdak Farrokhzad
dd98727541 Print outer attributes on formal params. 2019-08-02 09:34:49 +02:00
Mazdak Farrokhzad
875cef0324 Cleanup 'print_generic_params'. 2019-08-02 08:36:08 +02:00
varkor
b049221844 Address review comments 2019-08-02 02:44:36 +01:00
varkor
a45cde5ad0 Resolve FIXME with async-await test 2019-08-02 02:44:36 +01:00
varkor
16033d1e58 Rename OpaqueTyOrigin variants 2019-08-02 02:44:36 +01:00
varkor
b4fe555796 Replace exist_ty and ExistTy with opaque_ty and OpaqueTy 2019-08-02 02:44:36 +01:00
varkor
2777386dc2 Replace abstract type with type alias impl Trait 2019-08-02 02:44:36 +01:00
varkor
70c8839f7c Fix fallout after rebase 2019-08-02 02:44:36 +01:00
varkor
c28ce3e4ca Replace "existential" by "opaque" 2019-08-02 02:44:36 +01:00
varkor
fc48541ab1 Update syntax in existing tests 2019-08-02 02:44:35 +01:00