Skip to content

Make min_exhaustive_patterns match exhaustive_patterns better #120775

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
Feb 8, 2024

Conversation

Nadrieril
Copy link
Member

Split off from #120742.

There remained two edge cases where min_exhaustive_patterns wasn't behaving like exhaustive_patterns. This fixes them, and tests the feature in a bunch more cases. I essentially went through all uses of exhaustive_patterns to see which ones would be interesting to compare between the two features.

r? @compiler-errors

@Nadrieril Nadrieril added the F-exhaustive_patterns `#![feature(exhaustive_patterns)]` label Feb 8, 2024
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 8, 2024
@Nadrieril Nadrieril changed the title Match min_exhaustive_patterns implementation with exhaustive_patterns Make min_exhaustive_patterns match exhaustive_patterns better Feb 8, 2024
@compiler-errors
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Feb 8, 2024

📌 Commit 4733b1b has been approved by compiler-errors

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 8, 2024
@Nadrieril
Copy link
Member Author

Nadrieril commented Feb 8, 2024

Ty!

@bors rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 8, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#120590 (Remove unused args from functions)
 - rust-lang#120750 (No need to take `ImplTraitContext` by ref)
 - rust-lang#120769 (make future diffs minimal)
 - rust-lang#120772 (Remove myself from review rotation.)
 - rust-lang#120775 (Make `min_exhaustive_patterns` match `exhaustive_patterns` better)
 - rust-lang#120778 (Deduplicate `tcx.instance_mir(instance)` calls in `try_instance_mir`)
 - rust-lang#120782 (Fix mir pass ICE in the presence of other errors)
 - rust-lang#120783 (Add release note for new ambiguous_wide_pointer_comparisons lint)
 - rust-lang#120801 (Avoid ICE in drop recursion check in case of invalid drop impls)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 949e552 into rust-lang:master Feb 8, 2024
@rustbot rustbot added this to the 1.78.0 milestone Feb 8, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 8, 2024
Rollup merge of rust-lang#120775 - Nadrieril:more-min_exh_pats, r=compiler-errors

Make `min_exhaustive_patterns` match `exhaustive_patterns` better

Split off from rust-lang#120742.

There remained two edge cases where `min_exhaustive_patterns` wasn't behaving like `exhaustive_patterns`. This fixes them, and tests the feature in a bunch more cases. I essentially went through all uses of `exhaustive_patterns` to see which ones would be interesting to compare between the two features.

r? `@compiler-errors`
@Nadrieril Nadrieril deleted the more-min_exh_pats branch February 8, 2024 23:28
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
F-exhaustive_patterns `#![feature(exhaustive_patterns)]` S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants