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 5 pull requests #70427

Merged
merged 27 commits into from
Mar 26, 2020
Merged

Rollup of 5 pull requests #70427

merged 27 commits into from
Mar 26, 2020

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Mar 26, 2020

Successful merges:

Failed merges:

r? @ghost

RalfJung and others added 27 commits March 25, 2020 08:46
They used to be covered by `optin_builtin_traits` but negative impls
are now applicable to all traits, not just auto traits.

This also adds docs in the unstable book for the current state of auto traits.
permit negative impls for non-auto traits

This is a prototype impl that extends `impl !Trait` beyond auto traits. It is not integrated with coherence or anything else, and hence only serves to prevent downstream impls (but not to allow downstream crates to rely on the absence of such impls for coherence purposes).

Fixes rust-lang#66544

TODO:

- [x] need a test that you can't rely on negative impls for coherence purposes
- [x] test that negative impls cannot specialize positive ones
- [x] test that positive impls cannot specialize negative ones
- [x] extend negative impl to `Clone` in order to fully fix rust-lang#66544
- [x] and maybe make `CoerceUnsized` unsafe? -- that problem is now split out into rust-lang#68015
- [x] introduce feature flag and prepare a write-up
- [x] improve diagnostics?
Miri nits: comment and var name improvement

r? @eddyb
Fix for rust-lang#62691: use the largest niche across all fields

fixes rust-lang#62691

(The second commit is a small optimization but it makes the code less pretty and i don't know if it is worth it.)
parser: recover on `...` as a pattern, suggesting `..`

Fixes rust-lang#70388

My first PR to rust. So please let me know if I'm doing something wrong.
simplify match stmt

We actually have a surprising amount of
```rust
match expr {
    $($p:pat)|+ => true,
    _ => false,
}
```
While I would prefer this to be replaced with `matches!`, most cases are
fairly readable anyway so we can just let them be for now.
@Centril Centril added the rollup A PR which is a rollup label Mar 26, 2020
@Centril
Copy link
Contributor Author

Centril commented Mar 26, 2020

@bors r+ p=5 rollup=never

@bors
Copy link
Contributor

bors commented Mar 26, 2020

📌 Commit 608715b 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 Mar 26, 2020
@bors
Copy link
Contributor

bors commented Mar 26, 2020

⌛ Testing commit 608715b with merge 2fbb075...

@bors
Copy link
Contributor

bors commented Mar 26, 2020

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 2fbb075 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 26, 2020
@bors bors merged commit 2fbb075 into rust-lang:master Mar 26, 2020
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #70427!

Tested on commit 2fbb075.
Direct link to PR: #70427

💔 nomicon on windows: test-pass → test-fail (cc @Gankra @frewsxcv).
💔 nomicon on linux: test-pass → test-fail (cc @Gankra @frewsxcv).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Mar 26, 2020
Tested on commit rust-lang/rust@2fbb075.
Direct link to PR: <rust-lang/rust#70427>

💔 nomicon on windows: test-pass → test-fail (cc @Gankra @frewsxcv).
💔 nomicon on linux: test-pass → test-fail (cc @Gankra @frewsxcv).
@Centril Centril deleted the rollup-lrcad2c branch March 26, 2020 18:58
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.

8 participants