Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 6 pull requests #63395

Merged
merged 29 commits into from
Aug 9, 2019
Merged

Rollup of 6 pull requests #63395

merged 29 commits into from
Aug 9, 2019

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Aug 8, 2019

Successful merges:

Failed merges:

r? @ghost

kornelski and others added 29 commits August 5, 2019 18:19
Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
Miri tests: use xargo to build separate libstd

This uses `cargo miri setup` to prepare the libstd that is used for testing Miri, instead of adjusting the entire bootstrap process to make sure the libstd that already gets built is fit for Miri.

The issue with our current approach is that with `test-miri = true`, libstd and the test suite get built with `--cfg miri`, which e.g. means hashbrown uses no SIMD, and not all things are tested. Such global side-effects seem like footguns waiting to go off.

On the other hand, the new approach means we install xargo as a side-effect of doing `./x.py test src/tools/miri`, which might be surprising, and we also both have to build xargo and another libstd which costs some extra time. Not sure if the tools builders have enough time budget for that. Maybe there is a way to cache xargo?

We have to first first land rust-lang/miri#870 in Miri and then update this PR to include that change (also to get CI to test Miri before bors), but I wanted to get the review started here.

Cc @oli-obk (for Miri) @alexcrichton (for CI) @Mark-Simulacrum (for bootstrap)

Fixes rust-lang#61833, fixes rust-lang#63219
Don't recommend `extern crate` syntax

`extern crate` syntax is not a good recommendation any more, so I've changed it to just print a suggested crate name.
gitignore: add comment explaining policy

Based on rust-lang#63307 (comment), I added a comment what I think should be gitignored and what not. This is just a proposal, obviously.  Also see rust-lang#53768 for some more discussion.

The summary is that if there are junk files that you create locally and are fine leaving around (such as `mir_dump`), git has the option for you to add them to `.git/info/exclude`. Others might prefer to keep their working dir clean of those same junk files, so we shouldn't just ignore them for everyone.

I then also cleaned up a few more things, but there were many things that I had no idea where they came from so I didn't touch them.
move of packed fields might or might not occur when they actually are sufficiently aligned

See taiki-e/pin-project#34, where it was pointed out that we actually don't move fields of 1-aligned types when dropping a packed struct -- but e.g. in a `packed(2)` struct, we don't do something similar for 2-aligned types. The code for that is [here](https://github.com/rust-lang/rust/blob/db7c773a6be2f050d1d1504763819ea3916f5428/src/librustc_mir/util/alignment.rs#L7).
…sts, r=cramertj

Test interaction between `async { ... }` and `?`, `return`, and `break`

Per the second checkbox in rust-lang#62121 (comment), test that `async { .. }` blocks:
1. do not allow `break` expressions.
2. get targeted by `return` and not the parent function.
3. get targeted by `?` and not the parent function.

Works towards resolving blockers in rust-lang#63209.

r? @cramertj
@Centril
Copy link
Contributor Author

Centril commented Aug 8, 2019

@bors r+ p=6 rollup=never

@bors
Copy link
Contributor

bors commented Aug 8, 2019

📌 Commit 87fb0ad has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Aug 8, 2019
@bors
Copy link
Contributor

bors commented Aug 8, 2019

⌛ Testing commit 87fb0ad with merge 5aa3d9a...

bors added a commit that referenced this pull request Aug 8, 2019
Rollup of 6 pull requests

Successful merges:

 - #63162 (Miri tests: use xargo to build separate libstd)
 - #63289 (Don't recommend `extern crate` syntax)
 - #63373 (gitignore: add comment explaining policy)
 - #63374 (move of packed fields might or might not occur when they actually are sufficiently aligned)
 - #63381 (reduce visibility)
 - #63387 (Test interaction between `async { ... }` and `?`, `return`, and `break`)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Aug 9, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 5aa3d9a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 9, 2019
@bors bors merged commit 87fb0ad into rust-lang:master Aug 9, 2019
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #63395!

Tested on commit 5aa3d9a.
Direct link to PR: #63395

💔 rustc-guide on linux: test-pass → test-fail (cc @mark-i-m @spastorino, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Aug 9, 2019
Tested on commit rust-lang/rust@5aa3d9a.
Direct link to PR: <rust-lang/rust#63395>

💔 rustc-guide on linux: test-pass → test-fail (cc @mark-i-m @spastorino, @rust-lang/infra).
@Centril Centril deleted the rollup-kt805cj branch August 9, 2019 03:29
@mark-i-m
Copy link
Member

mark-i-m commented Aug 9, 2019 via email

@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants