]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoAuto merge of #59068 - ljedrz:kill_off_NodeId_stragglers, r=Zoxc
bors [Sat, 23 Mar 2019 17:34:18 +0000 (17:34 +0000)]
Auto merge of #59068 - ljedrz:kill_off_NodeId_stragglers, r=Zoxc

HirIdification: kill off NodeId stragglers

The final stages of HirIdification (#57578).

This PR, along with https://github.com/rust-lang/rust/pull/59042, should finalize the HirIdification process (at least the more straightforward bits).

- replace `NodeId` with `HirId` in `trait_impls`
- remove all `NodeId`s from `borrowck`
- remove all `NodeId`s from `typeck`
- remove all `NodeId`s from `mir`
- remove `trait_auto_impl` (unused)

I would be cool to also remove `NodeId` from `hir::def::Def`, `middle::privacy::AccessLevel`  and `hir::ItemId`, but I don't know if this is feasible.

I'll be happy to do more if I've missed anything.

5 years agoAuto merge of #59096 - ljedrz:HirIdify_AccessLevel, r=Zoxc
bors [Sat, 23 Mar 2019 12:21:27 +0000 (12:21 +0000)]
Auto merge of #59096 - ljedrz:HirIdify_AccessLevel, r=Zoxc

middle: replace NodeId with HirId in AccessLevels

Pushing the limits of HirIdification (#57578).

Replaces `NodeId` with `HirId` in `middle::privacy::AccessLevels`. Actually this time I was more successful and cracked it; I probably tried to HirIdify too much at once when I attempted it last time ^^.

r? @Zoxc

5 years agoAuto merge of #59058 - petrochenkov:assocrecov3, r=estebank
bors [Sat, 23 Mar 2019 05:51:16 +0000 (05:51 +0000)]
Auto merge of #59058 - petrochenkov:assocrecov3, r=estebank

 syntax: Better recovery for `$ty::AssocItem` and `ty!()::AssocItem`

This PR improves on https://github.com/rust-lang/rust/pull/46788 covering a few missing cases.

Fixes https://github.com/rust-lang/rust/issues/52307
Fixes https://github.com/rust-lang/rust/issues/53776
r? @estebank

5 years agoAuto merge of #58929 - estebank:elide-object, r=zackmdavis
bors [Sat, 23 Mar 2019 02:40:15 +0000 (02:40 +0000)]
Auto merge of #58929 - estebank:elide-object, r=zackmdavis

Elide object safety errors on non-existent trait function

Fix #58734.

r? @zackmdavis

5 years agoAuto merge of #59370 - Centril:rollup, r=Centril
bors [Fri, 22 Mar 2019 21:00:07 +0000 (21:00 +0000)]
Auto merge of #59370 - Centril:rollup, r=Centril

Rollup of 18 pull requests

Successful merges:

 - #59106 (Add peer_addr function to UdpSocket)
 - #59170 (Add const generics to rustdoc)
 - #59172 (Update and clean up several parts of CONTRIBUTING.md)
 - #59190 (consistent naming for Rhs type parameter in libcore/ops)
 - #59236 (Rename miri component to miri-preview)
 - #59266 (Do not complain about non-existing fields after parse recovery)
 - #59273 (some small HIR doc improvements)
 - #59291 (Make Option<ThreadId> no larger than ThreadId, with NonZeroU64)
 - #59297 (convert field/method confusion help to suggestions)
 - #59304 (Move some bench tests back from libtest)
 - #59309 (Add messages for different verbosity levels. Output copy actions.)
 - #59321 (Unify E0109, E0110 and E0111)
 - #59322 (Tweak incorrect escaped char diagnostic)
 - #59323 (use suggestions for "enum instead of variant" error)
 - #59327 (Add NAN test to docs)
 - #59329 (cleanup: Remove compile-fail-fulldeps directory again)
 - #59347 (Move one test from run-make-fulldeps to ui)
 - #59360 (Add tracking issue number for `seek_convenience`)

Failed merges:

r? @ghost

5 years agoRollup merge of #59360 - LukasKalbertodt:patch-2, r=rkruppe
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:41 +0000 (19:31 +0100)]
Rollup merge of #59360 - LukasKalbertodt:patch-2, r=rkruppe

Add tracking issue number for `seek_convenience`

We forgot to do that in #58422

5 years agoRollup merge of #59347 - petrochenkov:nomake, r=davidtwco
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:40 +0000 (19:31 +0100)]
Rollup merge of #59347 - petrochenkov:nomake, r=davidtwco

Move one test from run-make-fulldeps to ui

The test was written when `--extern` without path didn't exist.

5 years agoRollup merge of #59329 - petrochenkov:rmcff, r=alexcrichton
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:38 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59327 - Xaeroxe:clamp-doc, r=scottmcm
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:37 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59323 - euclio:enum-instead-of-variant, r=varkor
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:36 +0000 (19:31 +0100)]
Rollup merge of #59323 - euclio:enum-instead-of-variant, r=varkor

use suggestions for "enum instead of variant" error

5 years agoRollup merge of #59322 - estebank:diag-tweak, r=davidtwco
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:34 +0000 (19:31 +0100)]
Rollup merge of #59322 - estebank:diag-tweak, r=davidtwco

Tweak incorrect escaped char diagnostic

5 years agoRollup merge of #59321 - varkor:unify-E0109-E0110-E0111, r=davidtwco
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:33 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59309 - o01eg:verbose-copy-files, r=alexcrichton
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:31 +0000 (19:31 +0100)]
Rollup merge of #59309 - o01eg:verbose-copy-files, r=alexcrichton

Add messages for different verbosity levels. Output copy actions.

5 years agoRollup merge of #59304 - gnzlbg:bench_tests, r=alexcrichton
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:30 +0000 (19:31 +0100)]
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

5 years agoRollup merge of #59297 - euclio:field-method-suggestions, r=estebank
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:28 +0000 (19:31 +0100)]
Rollup merge of #59297 - euclio:field-method-suggestions, r=estebank

convert field/method confusion help to suggestions

5 years agoRollup merge of #59291 - SimonSapin:nonzero-thread-id, r=alexcrichton
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:27 +0000 (19:31 +0100)]
Rollup merge of #59291 - SimonSapin:nonzero-thread-id, r=alexcrichton

Make Option<ThreadId> no larger than ThreadId, with NonZeroU64

5 years agoRollup merge of #59273 - llogiq:hir-docs, r=matthewjasper
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:25 +0000 (19:31 +0100)]
Rollup merge of #59273 - llogiq:hir-docs, r=matthewjasper

some small HIR doc improvements

5 years agoRollup merge of #59266 - estebank:struct-parse-recovery, r=petrochenkov
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:24 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59236 - mati865:miri-preview, r=oli-obk
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:22 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59190 - greg-kargin:master, r=sanxiyn
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:21 +0000 (19:31 +0100)]
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.

5 years agoRollup merge of #59172 - varkor:contributing-contributions, r=steveklabnik
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:19 +0000 (19:31 +0100)]
Rollup merge of #59172 - varkor:contributing-contributions, r=steveklabnik

Update and clean up several parts of CONTRIBUTING.md

5 years agoRollup merge of #59170 - varkor:const-generics-rustdoc, r=QuietMisdreavus,eddyb
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:18 +0000 (19:31 +0100)]
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

5 years agoRollup merge of #59106 - LinusU:udp-peer-addr, r=kennytm
Mazdak Farrokhzad [Fri, 22 Mar 2019 18:31:16 +0000 (19:31 +0100)]
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!

5 years agoAuto merge of #58953 - jethrogb:jb/unify-ffi, r=alexcrichton
bors [Fri, 22 Mar 2019 17:34:06 +0000 (17:34 +0000)]
Auto merge of #58953 - jethrogb:jb/unify-ffi, r=alexcrichton

Unify OsString/OsStr for byte-based implementations

As requested in #57860

r? @joshtriplett

5 years agoAuto merge of #57810 - MikaelUrankar:stack_t_bsd, r=nagisa
bors [Fri, 22 Mar 2019 14:19:42 +0000 (14:19 +0000)]
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

5 years agoRename miri component to miri-preview
Mateusz Mikuła [Fri, 22 Mar 2019 11:39:59 +0000 (12:39 +0100)]
Rename miri component to miri-preview

It should fix installation via rustup and indicates it's not stable yet

5 years agoAuto merge of #59035 - estebank:closure-instacall, r=davidtwco
bors [Fri, 22 Mar 2019 11:18:11 +0000 (11:18 +0000)]
Auto merge of #59035 - estebank:closure-instacall, r=davidtwco

When encountering `||{}()`, suggest the likely intended `(||{})()`

Fix #55851.

5 years agoAdd tracking issue number for `seek_convenience`
Lukas Kalbertodt [Fri, 22 Mar 2019 10:25:44 +0000 (11:25 +0100)]
Add tracking issue number for `seek_convenience`

5 years agoAuto merge of #58995 - Centril:refactor-build-manifest, r=alexcrichton
bors [Fri, 22 Mar 2019 08:06:48 +0000 (08:06 +0000)]
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

5 years agoAuto merge of #59031 - estebank:recover-from-comaless, r=petrochenkov
bors [Fri, 22 Mar 2019 04:52:10 +0000 (04:52 +0000)]
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.

5 years agoAuto merge of #58981 - estebank:elseless-if, r=davidtwco
bors [Thu, 21 Mar 2019 23:42:41 +0000 (23:42 +0000)]
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.

5 years agoUnify OsString/OsStr for byte-based implementations
Jethro Beekman [Tue, 5 Mar 2019 23:05:44 +0000 (15:05 -0800)]
Unify OsString/OsStr for byte-based implementations

5 years agoMove one test from run-make-fulldeps to ui
Vadim Petrochenkov [Thu, 21 Mar 2019 20:36:50 +0000 (23:36 +0300)]
Move one test from run-make-fulldeps to ui

5 years agoAuto merge of #58948 - petrochenkov:overlap, r=cramertj
bors [Thu, 21 Mar 2019 20:22:07 +0000 (20:22 +0000)]
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

5 years agohygiene: Fix identifier comparison in impl overlap check
Vadim Petrochenkov [Tue, 5 Mar 2019 19:34:37 +0000 (22:34 +0300)]
hygiene: Fix identifier comparison in impl overlap check

5 years agoUpdate cargo
MikaelUrankar [Thu, 21 Mar 2019 16:02:28 +0000 (17:02 +0100)]
Update cargo

5 years agoFreeBSD 10.x is EOL, in FreeBSD 11 and later, ss_sp is actually a void* [1]
MikaelUrankar [Mon, 21 Jan 2019 17:52:57 +0000 (18:52 +0100)]
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

5 years agouse suggestions for "enum instead of variant" error
Andy Russell [Wed, 20 Mar 2019 18:54:43 +0000 (14:54 -0400)]
use suggestions for "enum instead of variant" error

5 years agoAuto merge of #58422 - LukasKalbertodt:seek-convenience, r=alexcrichton
bors [Thu, 21 Mar 2019 14:28:18 +0000 (14:28 +0000)]
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.

5 years agoAuto merge of #58927 - GuillaumeGomez:default-keyword, r=QuietMisdreavus
bors [Thu, 21 Mar 2019 08:55:50 +0000 (08:55 +0000)]
Auto merge of #58927 - GuillaumeGomez:default-keyword, r=QuietMisdreavus

Add default keyword handling in rustdoc

Fixes #58898.

r? @QuietMisdreavus

5 years agoAuto merge of #58913 - Milack27:patch_buf_reader, r=joshtriplett
bors [Thu, 21 Mar 2019 05:41:13 +0000 (05:41 +0000)]
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.

5 years agoAuto merge of #58902 - matthewjasper:generator-cleanup-blocks, r=davidtwco
bors [Thu, 21 Mar 2019 02:18:27 +0000 (02:18 +0000)]
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

5 years agoAuto merge of #58897 - Mark-Simulacrum:tool-rework, r=alexcrichton
bors [Wed, 20 Mar 2019 23:02:17 +0000 (23:02 +0000)]
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.

5 years agoFix f64 test
Jacob Kiesel [Wed, 20 Mar 2019 22:59:46 +0000 (16:59 -0600)]
Fix f64 test

5 years agocleanup: Remove compile-fail-fulldeps directory again
Vadim Petrochenkov [Wed, 20 Mar 2019 22:17:45 +0000 (01:17 +0300)]
cleanup: Remove compile-fail-fulldeps directory again

5 years agoFix formatting and add unit tests for panic cases
Jacob Kiesel [Wed, 20 Mar 2019 21:16:50 +0000 (15:16 -0600)]
Fix formatting and add unit tests for panic cases

5 years agoAdd NAN test to docs
Jacob Kiesel [Wed, 20 Mar 2019 21:07:16 +0000 (15:07 -0600)]
Add NAN test to docs

5 years agoTweak incorrect escaped char diagnostic
Esteban Küber [Wed, 20 Mar 2019 18:45:25 +0000 (11:45 -0700)]
Tweak incorrect escaped char diagnostic

5 years agoUpdate tests
varkor [Wed, 20 Mar 2019 18:32:52 +0000 (18:32 +0000)]
Update tests

5 years agoUnify E0109, E0110 and E0111 errors
varkor [Wed, 20 Mar 2019 18:32:30 +0000 (18:32 +0000)]
Unify E0109, E0110 and E0111 errors

5 years agoUnify E0109, E0110 and E0111 diagnostic messages
varkor [Wed, 20 Mar 2019 18:32:13 +0000 (18:32 +0000)]
Unify E0109, E0110 and E0111 diagnostic messages

5 years agoAdd a test for size_of Option<ThreadId>
Simon Sapin [Wed, 20 Mar 2019 18:04:38 +0000 (19:04 +0100)]
Add a test for size_of Option<ThreadId>

5 years agoAuto merge of #58791 - denzp:asm-compile-tests, r=alexcrichton
bors [Wed, 20 Mar 2019 17:54:27 +0000 (17:54 +0000)]
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

5 years agoAuto merge of #57018 - dcreager:redundant-linker, r=alexcrichton
bors [Wed, 20 Mar 2019 14:42:47 +0000 (14:42 +0000)]
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

5 years agoAdd messages for different verbosity levels.
O01eg [Wed, 20 Mar 2019 09:50:18 +0000 (12:50 +0300)]
Add messages for different verbosity levels.

Output copy actions

5 years agoAuto merge of #59298 - kennytm:rollup, r=kennytm
bors [Wed, 20 Mar 2019 05:01:38 +0000 (05:01 +0000)]
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

5 years agoMove some bench tests back from libtest
gnzlbg [Wed, 20 Mar 2019 00:22:19 +0000 (01:22 +0100)]
Move some bench tests back from libtest

5 years agoRollup merge of #59257 - redox-os:upstream-redox, r=sanxiyn
kennytm [Tue, 19 Mar 2019 20:34:07 +0000 (04:34 +0800)]
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

5 years agoRollup merge of #59253 - kennytm:precise-docker-cache-hash, r=pietroalbini
kennytm [Tue, 19 Mar 2019 20:34:06 +0000 (04:34 +0800)]
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.

5 years agoRollup merge of #59055 - ehuss:ci-job-name, r=alexcrichton
kennytm [Tue, 19 Mar 2019 20:34:04 +0000 (04:34 +0800)]
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.

5 years agoRollup merge of #59038 - kennytm:track-embedded-book, r=oli-obk
kennytm [Tue, 19 Mar 2019 20:34:02 +0000 (04:34 +0800)]
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.

5 years agoRollup merge of #58986 - cuviper:ppc64-binutils, r=alexcrichton
kennytm [Tue, 19 Mar 2019 20:34:01 +0000 (04:34 +0800)]
Rollup merge of #58986 - cuviper:ppc64-binutils, r=alexcrichton

[CI] Update binutils for powerpc64 and powerpc64le

Cargo powerpc64 and powerpc64le are seeing `SIGILL` crashes in openssl,
which was found to be a linking problem, fixed by newer binutils. See
<https://github.com/rust-lang/rust/issues/57345#issuecomment-462094555>

For powerpc64 we're using crosstool-ng, which doesn't offer a newer
binutils version, but we can just compile it separately. On powerpc64le
we're already building binutils. Both are now updated to binutils 2.32.

Closes rust-lang/cargo#6320
Closes rust-lang/rust#57345
Closes rust-lang/rustup.rs#1620

r? @alexcrichton

5 years agoUse `curl` instead of `wget` in install-x86_64-redox.sh
kennytm [Tue, 19 Mar 2019 20:30:49 +0000 (04:30 +0800)]
Use `curl` instead of `wget` in install-x86_64-redox.sh

5 years agoreview comments
Esteban Küber [Tue, 19 Mar 2019 20:17:25 +0000 (13:17 -0700)]
review comments

5 years agoconvert field/method confusion help to suggestions
Andy Russell [Tue, 19 Mar 2019 19:54:21 +0000 (15:54 -0400)]
convert field/method confusion help to suggestions

5 years agoIgnore test on Windows
Douglas Creager [Tue, 19 Mar 2019 18:53:19 +0000 (14:53 -0400)]
Ignore test on Windows

5 years agoAuto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg
bors [Tue, 19 Mar 2019 18:30:21 +0000 (18:30 +0000)]
Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg

Move libtest out of rust-lang/rust

This is a first step towards a number of goals explained in this internals post: https://internals.rust-lang.org/t/a-path-forward-towards-re-usable-libtest-functionality-custom-test-frameworks-and-a-stable-bench-macro

This PR does not fully remove libtest from rust-lang/rust, we keep a shim that imports and re-exports the external libtest, and adds the proc_macro dependency, etc.

r? @alexcrichton

cc @djrenren @petrochenkov

5 years agoRemove libterm from bootstrap
gnzlbg [Tue, 19 Mar 2019 18:25:30 +0000 (19:25 +0100)]
Remove libterm from bootstrap

5 years agoExplicitly prefer dynamic linking in test case
Douglas Creager [Tue, 19 Mar 2019 15:56:32 +0000 (11:56 -0400)]
Explicitly prefer dynamic linking in test case

5 years agoAuto merge of #59293 - Centril:rollup, r=Centril
bors [Tue, 19 Mar 2019 14:30:42 +0000 (14:30 +0000)]
Auto merge of #59293 - Centril:rollup, r=Centril

Rollup of 11 pull requests

Successful merges:

 - #56348 (Add todo!() macro)
 - #57729 (extra testing of how NLL handles wildcard type `_`)
 - #57847 (dbg!() without parameters)
 - #58778 (Implement ExactSizeIterator for ToLowercase and ToUppercase)
 - #58812 (Clarify distinction between floor() and trunc())
 - #58939 (Fix a tiny error in documentation of std::pin.)
 - #59116 (Be more discerning on when to attempt suggesting a comma in a macro invocation)
 - #59252 (add self to mailmap)
 - #59275 (Replaced self-reflective explicit types with clearer `Self` or `Self::…` in stdlib docs)
 - #59280 (Stabilize refcell_map_split feature)
 - #59290 (Run branch cleanup after copy prop)

Failed merges:

r? @ghost

5 years agoRollup merge of #59290 - oli-obk:trivial_move_prop, r=davidtwco
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:17:03 +0000 (15:17 +0100)]
Rollup merge of #59290 - oli-obk:trivial_move_prop, r=davidtwco

Run branch cleanup after copy prop

This is preliminary work for https://github.com/rust-lang/rust/pull/59288#issuecomment-474277172 which gets rid of `if` in the HIR.

cc @rust-lang/wg-mir-opt  @Centril

5 years agoRollup merge of #59280 - joshlf:sandbox/joshlf/stabilize-refcell-map-split, r=cramert...
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:17:00 +0000 (15:17 +0100)]
Rollup merge of #59280 - joshlf:sandbox/joshlf/stabilize-refcell-map-split, r=cramertj,Centril

Stabilize refcell_map_split feature

Closes #51476.

5 years agoRollup merge of #59275 - regexident:docs-self, r=joshtriplett
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:59 +0000 (15:16 +0100)]
Rollup merge of #59275 - regexident:docs-self, r=joshtriplett

Replaced self-reflective explicit types with clearer `Self` or `Self::…` in stdlib docs

Many docs examples use explicit types instead of the semantically more clear `Self`/`Self::…` aliases.

By using the latter it's clear that the value's type depends on either `Self`, or an associated type of `Self`, instead of some constant type. It's also more consistent (and I'd argue correct), as the current docs aren't really consistent in this, as can be seen from the diff.

This is a best effort PR, as I was basically going through the docs manually, looking for offending examples. I'm sure I missed a few. Gotta start somewhere.

5 years agoRollup merge of #59252 - lcnr:mailmap, r=Centril
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:57 +0000 (15:16 +0100)]
Rollup merge of #59252 - lcnr:mailmap, r=Centril

add self to mailmap

5 years agoRollup merge of #59116 - estebank:comma-sugg, r=petrochenkov
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:55 +0000 (15:16 +0100)]
Rollup merge of #59116 - estebank:comma-sugg, r=petrochenkov

Be more discerning on when to attempt suggesting a comma in a macro invocation

Fix #58796.

5 years agoRollup merge of #58939 - taeguk:fix-doc-about-pin, r=rkruppe
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:53 +0000 (15:16 +0100)]
Rollup merge of #58939 - taeguk:fix-doc-about-pin, r=rkruppe

Fix a tiny error in documentation of std::pin.

`new_unmoved` must be `mut` for passing to `std::mem::swap`.

5 years agoRollup merge of #58812 - jonhoo:floor_v_trunc, r=alexcrichton
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:50 +0000 (15:16 +0100)]
Rollup merge of #58812 - jonhoo:floor_v_trunc, r=alexcrichton

Clarify distinction between floor() and trunc()

`floor()` rounds towards `-INF`, `trunc()` rounds towards 0.
This PR clarifies this in the examples.

5 years agoRollup merge of #58778 - xfix:exact_size_case_mapping_iter, r=SimonSapin
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:49 +0000 (15:16 +0100)]
Rollup merge of #58778 - xfix:exact_size_case_mapping_iter, r=SimonSapin

Implement ExactSizeIterator for ToLowercase and ToUppercase

5 years agoRollup merge of #57847 - clarcharr:dbg_no_params, r=Centril
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:46 +0000 (15:16 +0100)]
Rollup merge of #57847 - clarcharr:dbg_no_params, r=Centril

dbg!() without parameters

Fixes #57845.

5 years agoRollup merge of #57729 - pnkfelix:issue-55748-pat-types-are-constraints-on-bindings...
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:45 +0000 (15:16 +0100)]
Rollup merge of #57729 - pnkfelix:issue-55748-pat-types-are-constraints-on-bindings-too, r=nikomatsakis

extra testing of how NLL handles wildcard type `_`

test that wildcard type `_` is not duplicated by `type Foo<X> = (X, X);` and potentially instantiated at different types when used in type ascriptions in let bindings.

(NLL's handling of this for the type ascription *expression form* is currently broken, or at least differs from what AST-borrowck does. I'll file a separate bug about that. Its not something critical to address since that expression is guarded by `#![feature(type_ascription)]`.)

cc #55748

5 years agoRollup merge of #56348 - matklad:todo-macro, r=withoutboats
Mazdak Farrokhzad [Tue, 19 Mar 2019 14:16:43 +0000 (15:16 +0100)]
Rollup merge of #56348 - matklad:todo-macro, r=withoutboats

Add todo!() macro

The primary use-case of `todo!()` macro is to be a much easier to type
alternative to `unimplemented!()` macro.

EDIT: hide unpopular proposal about re-purposing unimplemented

<details>
However, instead of just replacing `unimplemented!()`, it gives it a
more nuanced meaning: a thing which is intentionally left
unimplemented and which should not be called at runtime. Usually,
you'd like to prevent such cases statically, but sometimes you, for
example, have to implement a trait only some methods of which are
applicable. There are examples in the wild of code doing this thing,
and in this case, the current message of `unimplemented`, "not *yet*
implemented" is slightly misleading.

With the addition of TODO, you have three nuanced choices for a
`!`-returning macro (in addition to a good-old panic we all love):

  * todo!()
  * unreachable!()
  * unimplemented!()

Here's a rough guideline what each one means:

- `todo`: use it during development, as a "hole" or placeholder. It
  might be a good idea to add a pre-commit hook which checks that
  `todo` is not accidentally committed.

- `unreachable!()`: use it when your code can statically guarantee
  that some situation can not happen. If you use a library and hit
  `unreachable!()` in the library's code, it's definitely a bug in the
  library. It's OK to have `unreachable!()` in the code base,
  although, if possible, it's better to replace it with
  compiler-verified exhaustive checks.

- `unimplemented!()`: use it when the type checker forces you to
  handle some situation, but there's a contract that a callee must not
  actually call the code. If you use a library and hit
  `unimplemented!()`, it's probably a bug in your code, though
  it *could* be a bug in the library (or library docs) as well. It is
  ok-ish to see an `unimplemented!()` in real code, but it usually
  signifies a clunky, eyebrow-rising API.
</details>

5 years agoMake Option<ThreadId> no larger than ThreadId, with NonZeroU64
Simon Sapin [Tue, 19 Mar 2019 12:59:38 +0000 (13:59 +0100)]
Make Option<ThreadId> no larger than ThreadId, with NonZeroU64

5 years agoDirectly reference the roadmap upstream
gnzlbg [Mon, 4 Mar 2019 17:29:23 +0000 (18:29 +0100)]
Directly reference the roadmap upstream

5 years agoExport stats::Summary from libtest
gnzlbg [Mon, 4 Mar 2019 17:17:41 +0000 (18:17 +0100)]
Export stats::Summary from libtest

5 years agoAdd missing explicit imports
gnzlbg [Mon, 4 Mar 2019 17:06:07 +0000 (18:06 +0100)]
Add missing explicit imports

5 years agoMove black_box back to rust-lang/libtest and use explicit imports
gnzlbg [Mon, 4 Mar 2019 17:04:08 +0000 (18:04 +0100)]
Move black_box back to rust-lang/libtest and use explicit imports

5 years agoAdd a README to libtest with a roadmap
gnzlbg [Mon, 4 Mar 2019 16:45:28 +0000 (17:45 +0100)]
Add a README to libtest with a roadmap

5 years agoAllow the staged_api
gnzlbg [Sun, 3 Mar 2019 16:39:57 +0000 (17:39 +0100)]
Allow the staged_api

5 years agoUpdate Cargo.lock
gnzlbg [Sun, 3 Mar 2019 15:32:27 +0000 (16:32 +0100)]
Update Cargo.lock

5 years agoUse feature(test)
gnzlbg [Sun, 3 Mar 2019 14:50:52 +0000 (15:50 +0100)]
Use feature(test)

5 years agoUse libtest from crates.io
gnzlbg [Sun, 3 Mar 2019 13:58:13 +0000 (14:58 +0100)]
Use libtest from crates.io

5 years agoRe-export libtest
gnzlbg [Sat, 2 Mar 2019 18:40:15 +0000 (19:40 +0100)]
Re-export libtest

5 years agoMove libtest out of rust-lang/rust
gnzlbg [Tue, 22 Jan 2019 20:08:27 +0000 (21:08 +0100)]
Move libtest out of rust-lang/rust

5 years agoRun branch cleanup after copy prop
Oliver Scherer [Tue, 19 Mar 2019 11:38:18 +0000 (12:38 +0100)]
Run branch cleanup after copy prop

5 years agoUpdate since annotation for ExactSizeIterator for ToUppercase/Lowercase
Konrad Borowski [Tue, 19 Mar 2019 07:49:45 +0000 (08:49 +0100)]
Update since annotation for ExactSizeIterator for ToUppercase/Lowercase

This functionality was added in 1.35.0, not 1.34.0.

5 years agoUpdate src/librustc/hir/mod.rs
Mazdak Farrokhzad [Tue, 19 Mar 2019 05:10:59 +0000 (06:10 +0100)]
Update src/librustc/hir/mod.rs

Co-Authored-By: llogiq <bogusandre@gmail.com>
5 years agoAuto merge of #59279 - mati865:clippy, r=Xanewok
bors [Tue, 19 Mar 2019 00:48:06 +0000 (00:48 +0000)]
Auto merge of #59279 - mati865:clippy, r=Xanewok

Update clippy

Fixes https://github.com/rust-lang/rust/issues/59218

cc @Xanewok

5 years agoStabilize refcell_map_split feature
Joshua Liebow-Feeser [Mon, 18 Mar 2019 19:01:16 +0000 (12:01 -0700)]
Stabilize refcell_map_split feature

- Closes #51476

5 years agoAuto merge of #56462 - Zoxc:query-macro, r=oli-obk
bors [Mon, 18 Mar 2019 21:24:12 +0000 (21:24 +0000)]
Auto merge of #56462 - Zoxc:query-macro, r=oli-obk

Define queries using a proc macro

cc @rust-lang/compiler

5 years agoRebase over LazyConst changes
varkor [Mon, 18 Mar 2019 19:46:59 +0000 (19:46 +0000)]
Rebase over LazyConst changes