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 7 pull requests #67284

Merged
merged 36 commits into from
Dec 13, 2019
Merged

Rollup of 7 pull requests #67284

merged 36 commits into from
Dec 13, 2019

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Dec 13, 2019

Successful merges:

Failed merges:

r? @ghost

Nadrieril and others added 30 commits December 4, 2019 16:43
This is logically equivalent to the previous code.
Actually empty matches are still handled by a different code path
This uses the exact same code path that would be used for
`match x { _ if false => {} }`, since in both cases the resulting matrix
is empty. Since we think the behaviour in that case is ok, then we can
remove the special case and use the default code path.
When the feature is on, the special casing is not needed. That way when
we stabilize the feature this `if` can just be removed.
… r=varkor,Centril,estebank

Improve diagnostics and code for exhaustiveness of empty matches

There was a completely separate check and diagnostics for the case of an empty match. This led to slightly different error messages and duplicated code.
This improves code reuse and generally clarifies what happens for empty matches. This also clarifies the action of the `exhaustive_patterns` feature, and ensures that this feature doesn't change diagnostics in places it doesn't need to.
…drAus

VecDeque: drop remaining items on destructor panic

Closes rust-lang#67232
Reduce allocs for validation errors

This probably doesn't really matter, but I just felt like I had to do this...

r? @oli-obk
be explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init()

Cc @Centril @nikomatsakis
`coerce_inner`: use initial `expected_ty`

Fixes rust-lang#67273.
Follow-up to rust-lang#59439.

r? @oli-obk
docs: std::convert::From: Fix typo

Fix a minor typo
@Centril
Copy link
Contributor Author

Centril commented Dec 13, 2019

@bors r+ p=7 rollup=never

@bors
Copy link
Contributor

bors commented Dec 13, 2019

📌 Commit d0cc289 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 Dec 13, 2019
@Centril Centril added the rollup A PR which is a rollup label Dec 13, 2019
@bors
Copy link
Contributor

bors commented Dec 13, 2019

⌛ Testing commit d0cc289 with merge ff15e96...

bors added a commit that referenced this pull request Dec 13, 2019
Rollup of 7 pull requests

Successful merges:

 - #67026 (Improve diagnostics and code for exhaustiveness of empty matches)
 - #67235 (VecDeque: drop remaining items on destructor panic)
 - #67254 (dont ICE in case of invalid drop fn)
 - #67256 (Reduce allocs for validation errors)
 - #67274 (be explicit that mem::uninitialized is the same as MaybeUninit::uninit().assume_init())
 - #67278 (`coerce_inner`: use initial `expected_ty`)
 - #67280 (docs: std::convert::From: Fix typo)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Dec 13, 2019

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 13, 2019
@bors bors merged commit d0cc289 into rust-lang:master Dec 13, 2019
@Centril Centril deleted the rollup-ghiukob branch December 13, 2019 23:04
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.

6 participants