91139 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
aae75cf4e1
Rollup merge of #59329 - petrochenkov:rmcff, r=alexcrichton
cleanup: Remove compile-fail-fulldeps directory again

It was already removed once in https://github.com/rust-lang/rust/pull/56444, but was partially resurrected by rebase of some other PR.
2019-03-22 19:31:38 +01:00
Mazdak Farrokhzad
9943a447c1
Rollup merge of #59327 - Xaeroxe:clamp-doc, r=scottmcm
Add NAN test to docs

Documents and tests NAN behavior for the new (f32, f64)::clamp function.
2019-03-22 19:31:37 +01:00
Mazdak Farrokhzad
de08d0ec2d
Rollup merge of #59323 - euclio:enum-instead-of-variant, r=varkor
use suggestions for "enum instead of variant" error
2019-03-22 19:31:36 +01:00
Mazdak Farrokhzad
9d33d6fa4b
Rollup merge of #59322 - estebank:diag-tweak, r=davidtwco
Tweak incorrect escaped char diagnostic
2019-03-22 19:31:34 +01:00
Mazdak Farrokhzad
11429b2d13
Rollup merge of #59321 - varkor:unify-E0109-E0110-E0111, r=davidtwco
Unify E0109, E0110 and E0111

Error messages should no longer be restricted to specific generic kinds.
2019-03-22 19:31:33 +01:00
Mazdak Farrokhzad
f1f34707ae
Rollup merge of #59309 - o01eg:verbose-copy-files, r=alexcrichton
Add messages for different verbosity levels. Output copy actions.
2019-03-22 19:31:31 +01:00
Mazdak Farrokhzad
8a36f76735
Rollup merge of #59304 - gnzlbg:bench_tests, r=alexcrichton
Move some bench tests back from libtest

It doesn't make much sense to test these on rust-lang/libtest since they exercise the `#[bench]` macro which is part of rust-lang/rust.

This PR moves these tests back here.

r? @alexcrichton
2019-03-22 19:31:30 +01:00
Mazdak Farrokhzad
0407c642f5
Rollup merge of #59297 - euclio:field-method-suggestions, r=estebank
convert field/method confusion help to suggestions
2019-03-22 19:31:28 +01:00
Mazdak Farrokhzad
d2a958f422
Rollup merge of #59291 - SimonSapin:nonzero-thread-id, r=alexcrichton
Make Option<ThreadId> no larger than ThreadId, with NonZeroU64
2019-03-22 19:31:27 +01:00
Mazdak Farrokhzad
28644cd9fa
Rollup merge of #59273 - llogiq:hir-docs, r=matthewjasper
some small HIR doc improvements
2019-03-22 19:31:25 +01:00
Mazdak Farrokhzad
5a0e4510a8
Rollup merge of #59266 - estebank:struct-parse-recovery, r=petrochenkov
Do not complain about non-existing fields after parse recovery

When failing to parse struct-like enum variants, the ADT gets recorded
as having no fields. Record that we have actually recovered during
parsing of this variant to avoid complaing about non-existing fields
when actually using it.

Fix #57361.
2019-03-22 19:31:24 +01:00
Mazdak Farrokhzad
adbfcea58f
Rollup merge of #59236 - mati865:miri-preview, r=oli-obk
Rename miri component to miri-preview

It should fix installation via `rustup` and indicates it's not stable yet.
2019-03-22 19:31:22 +01:00
Mazdak Farrokhzad
225b6baae7
Rollup merge of #59190 - greg-kargin:master, r=sanxiyn
consistent naming for Rhs type parameter in libcore/ops

Rename RHS type parameter occurrences RHS->Rhs to make it consistent throughout files and follow naming conventions.
2019-03-22 19:31:21 +01:00
Mazdak Farrokhzad
e744fb7ac1
Rollup merge of #59172 - varkor:contributing-contributions, r=steveklabnik
Update and clean up several parts of CONTRIBUTING.md
2019-03-22 19:31:19 +01:00
Mazdak Farrokhzad
4c79967760
Rollup merge of #59170 - varkor:const-generics-rustdoc, r=QuietMisdreavus,eddyb
Add const generics to rustdoc

Split out from #53645. This work is a collaborative effort with @yodaldevoid.

The `FIXME`s are waiting on a refactor to `LazyConst`. I'll address these in a follow up, but I thought it would be better to implement the rest now to avoid bitrot.

r? @QuietMisdreavus
2019-03-22 19:31:18 +01:00
Mazdak Farrokhzad
5481b4e1d7
Rollup merge of #59106 - LinusU:udp-peer-addr, r=kennytm
Add peer_addr function to UdpSocket

Fixes #59104

This is my first pull request to Rust, so opening early for some feedback.

My biggest question is: where do I add tests?

Any comments very much appreciated!
2019-03-22 19:31:16 +01:00
bors
ed196221d8 Auto merge of #57810 - MikaelUrankar:stack_t_bsd, r=nagisa
FreeBSD 10.x is EOL, in FreeBSD 11 and later, ss_sp is actually a void*

…d* [1]

dragonflybsd still uses c_char [2]

[1] https://svnweb.freebsd.org/base/releng/11.2/sys/sys/signal.h?revision=334459&view=markup#l438
[2] https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/signal.h#L339
2019-03-22 14:19:42 +00:00
Mateusz Mikuła
9ee3a4041e Rename miri component to miri-preview
It should fix installation via rustup and indicates it's not stable yet
2019-03-22 12:39:59 +01:00
bors
2210e9a6a9 Auto merge of #59035 - estebank:closure-instacall, r=davidtwco
When encountering `||{}()`, suggest the likely intended `(||{})()`

Fix #55851.
2019-03-22 11:18:11 +00:00
bors
f166314b88 Auto merge of #58995 - Centril:refactor-build-manifest, r=alexcrichton
Refactor tools/build-mainfest

I saw some duplication in https://github.com/rust-lang/rust/pull/58990 and got an itch... Will likely need to be rebased when that lands. Hopefully the PR should have zero semantic changes...

r? @alexcrichton
2019-03-22 08:06:48 +00:00
bors
a85ec7c2c0 Auto merge of #59031 - estebank:recover-from-comaless, r=petrochenkov
Recover from missing comma between enum variants and from bad `pub` kw

Fix #56579. Fix #56473.
2019-03-22 04:52:10 +00:00
bors
86466a397a Auto merge of #58981 - estebank:elseless-if, r=davidtwco
Point at coercion reason for `if` expressions without else clause if caused by return type

```
error[E0317]: if may be missing an else clause
  --> $DIR/if-without-else-as-fn-expr.rs:2:5
   |
LL |   fn foo(bar: usize) -> usize {
   |                         ----- found `usize` because of this return type
LL | /     if bar % 5 == 0 {
LL | |         return 3;
LL | |     }
   | |_____^ expected (), found usize
   |
   = note: expected type `()`
              found type `usize`
   = note: `if` expressions without `else` must evaluate to `()`
```

Fix #25228.
2019-03-21 23:42:41 +00:00
bors
94fd045895 Auto merge of #58948 - petrochenkov:overlap, r=cramertj
hygiene: Fix identifier comparison in impl overlap check

Fixes https://github.com/rust-lang/rust/issues/58942
2019-03-21 20:22:07 +00:00
Vadim Petrochenkov
fa013896f7 hygiene: Fix identifier comparison in impl overlap check 2019-03-21 22:20:10 +03:00
MikaelUrankar
6b766baf4a Update cargo 2019-03-21 17:02:28 +01:00
MikaelUrankar
de021e39e6 FreeBSD 10.x is EOL, in FreeBSD 11 and later, ss_sp is actually a void* [1]
dragonflybsd still uses c_char [2]

[1] https://svnweb.freebsd.org/base/releng/11.2/sys/sys/signal.h?revision=334459&view=markup#l438
[2] https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/signal.h#L339
2019-03-21 16:53:31 +01:00
Andy Russell
16a8abe1bb
use suggestions for "enum instead of variant" error 2019-03-21 11:04:15 -04:00
bors
89573b3c8b Auto merge of #58422 - LukasKalbertodt:seek-convenience, r=alexcrichton
Add provided methods `Seek::{stream_len, stream_position}`

This adds two new, provided methods to the `io::Seek` trait:
- `fn stream_len(&mut self) -> Result<u64>`
- `fn stream_position(&mut self) -> Result<u64>`

Both are added for convenience and to improve readability in user code. Reading `file.stream_len()` is much better than to manually seek two or three times. Similarly, `file.stream_position()` is much more clear than `file.seek(SeekFrom::Current(0))`.

You can find prior discussions [in this internals thread](https://internals.rust-lang.org/t/pre-rfc-idea-extend-io-seek-with-convenience-methods-with-e-g-stream-len/9262). I think I addressed all concerns in that thread.

I already wrote three RFCs to add a small new API to libstd but I noticed that many public changes to libstd happen without an RFC. So I figured I can try opening a PR directly without going through RFCs first. After all, we do have rfcbot here too. If you think this change is too big to merge without an RFC, I can still close this PR and write an RFC.
2019-03-21 14:28:18 +00:00
bors
48e354d224 Auto merge of #58927 - GuillaumeGomez:default-keyword, r=QuietMisdreavus
Add default keyword handling in rustdoc

Fixes #58898.

r? @QuietMisdreavus
2019-03-21 08:55:50 +00:00
bors
15a5dfa0b4 Auto merge of #58913 - Milack27:patch_buf_reader, r=joshtriplett
Add new test case for possible bug in BufReader

When reading a large chunk from a BufReader, if all the bytes from the buffer have been already consumed, the internal buffer is bypassed entirely. However, it is not invalidated, and it's possible to access its contents using the `seek_relative` method, because it tries to reuse the existing buffer.
2019-03-21 05:41:13 +00:00
bors
20958fc81f Auto merge of #58902 - matthewjasper:generator-cleanup-blocks, r=davidtwco
Fixes for the generator transform

* Moves cleanup annotations in pretty printed MIR so that they can be tested
* Correctly determines which drops are in cleanup blocks when elaborating generator drops
* Use the correct state for poisoning a generator

Closes #58892
2019-03-21 02:18:27 +00:00
bors
33b3b136c5 Auto merge of #58897 - Mark-Simulacrum:tool-rework, r=alexcrichton
Rework how bootstrap tools are built

This makes bootstrap tools buildable and testable in stage 0 with the downloaded bootstrap compiler, futhermore, it makes it such that they cannot be built in any other stage.

Notably, this will also mean that compiletest may need to wait a cycle before it can use changes to `libtest`, as it no longer depends on the in-tree libtest.
2019-03-20 23:02:17 +00:00
Jacob Kiesel
72f5d9137e Fix f64 test 2019-03-20 16:59:46 -06:00
Vadim Petrochenkov
295cc77e94 cleanup: Remove compile-fail-fulldeps directory again 2019-03-21 01:17:45 +03:00
Jacob Kiesel
e2b5a0334d Fix formatting and add unit tests for panic cases 2019-03-20 15:16:50 -06:00
Jacob Kiesel
2f8d9a23ee Add NAN test to docs 2019-03-20 15:07:16 -06:00
Esteban Küber
a8120d660a Tweak incorrect escaped char diagnostic 2019-03-20 11:45:25 -07:00
varkor
aff175b328 Update tests 2019-03-20 18:32:52 +00:00
varkor
4900585a4f Unify E0109, E0110 and E0111 errors 2019-03-20 18:32:30 +00:00
varkor
c745708aa3 Unify E0109, E0110 and E0111 diagnostic messages 2019-03-20 18:32:13 +00:00
Simon Sapin
c1d9191fa5 Add a test for size_of Option<ThreadId> 2019-03-20 19:04:38 +01:00
bors
82e2f3ec25 Auto merge of #58791 - denzp:asm-compile-tests, r=alexcrichton
Introduce assembly tests suite

The change introduces a new test suite - **Assembly** tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (`i128` and libcalls in the past, and still full atomics support) due to different reasons.

Prior to this change, basic NVPTX assembly tests were implemented within `run-make` suite. Now, it's easier to write additional and maintain existing tests for the target.

cc @gnzlbg @peterhj
cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967
2019-03-20 17:54:27 +00:00
bors
9c499ccfcd Auto merge of #57018 - dcreager:redundant-linker, r=alexcrichton
Keep last redundant linker flag, not first

When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1.  You'd end up with a (simplified) linker command that looks like:

```
-l2 -l1 -l3 -l1
```

With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in:

```
-l2 -l1 -l3
```

This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*.  So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors.

A better behavior is to keep the *last* instance of the library:

```
-l2 -l3 -l1
```

This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced.

Fixes rust-lang#47989
2019-03-20 14:42:47 +00:00
O01eg
b6e5d7348a
Add messages for different verbosity levels.
Output copy actions
2019-03-20 12:50:18 +03:00
bors
0c8700b9d5 Auto merge of #59298 - kennytm:rollup, r=kennytm
Rollup of 5 pull requests (all of which changes `src/ci/docker`)

Successful merges:

 - #58986 ([CI] Update binutils for powerpc64 and powerpc64le)
 - #59038 (Track embedded-book in the toolstate)
 - #59055 (CI: Set job names.)
 - #59253 (Calculate Docker cache hash precisely from Dockerfile's dependencies)
 - #59257 (Update CI configuration for building Redox libraries)

Failed merges:

r? @ghost
2019-03-20 05:01:38 +00:00
gnzlbg
46a8beb4b2 Move some bench tests back from libtest 2019-03-20 01:22:19 +01:00
kennytm
f31974a18e
Rollup merge of #59257 - redox-os:upstream-redox, r=sanxiyn
Update CI configuration for building Redox libraries

This fixes https://github.com/rust-lang/rust/issues/59254
2019-03-20 04:34:07 +08:00
kennytm
abdb7733f4
Rollup merge of #59253 - kennytm:precise-docker-cache-hash, r=pietroalbini
Calculate Docker cache hash precisely from Dockerfile's dependencies

#58549 changed the Docker cache calculation to include every file under `src/ci/docker`, so that when files under `dist-x86_64-linux` is changed, its dependent image `dist-i686-linux` will also be rebuilt.

However, this ultraconservative solution caused the `dist-i686-linux` to be rebuilt every time an irrelevant Dockerfile (e.g. the PowerPC ones) is changed, which increases the building time beyond 3 hours and forcing a spurious but expected failure.

This commit instead parses the Dockerfile itself and look for the actual dependencies. The scripts needs to be copied into the Docker image, which must be done with the COPY command, so we just need to find all lines with a COPY command and add the source file into the hash calculator.

Note: this script only handles single-lined COPY command in the form `COPY src1 src2 src3 dst`, since these are the only variant used inside this repository.
2019-03-20 04:34:06 +08:00
kennytm
9da8fe4e02
Rollup merge of #59055 - ehuss:ci-job-name, r=alexcrichton
CI: Set job names.

This should make it easier to identify what each job is doing when looking at the Travis or Appveyor UI.

- Set `name` for each job in Travis.
- Move `CI_JOB_NAME` to the front in Appveyor so that it appears first in the UI.
2019-03-20 04:34:04 +08:00
kennytm
5d8a30d270
Rollup merge of #59038 - kennytm:track-embedded-book, r=oli-obk
Track embedded-book in the toolstate

The embedded book was tested in the tools job but the test result was never published. This PR adds maintainer information of embedded-book. This PR also requires the next update to embedded-book to pass the all tests, currently its state is test-fail.

rust-lang-nursery/rust-toolstate#10 should be merged before this PR.
2019-03-20 04:34:02 +08:00