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

match lowering: Introduce a TestCase enum to replace most matching on PatKind #121393

Merged
merged 4 commits into from
Feb 22, 2024

Conversation

Nadrieril
Copy link
Member

Introduces TestCase that represents the specific outcome of a test. It complements TestKind which represents a test. In MatchPair::new() we select the appropriate TestCase for the pattern, and after that we almost never have to inspect the pattern directly during match lowering.

Together with #120904, this makes MatchPair into a standalone abstraction that hides the details of thir::Pat. This will become even truer in the next PR where I make TestCase handle or patterns. This opens the door to a lot of future simplifications.

r? @matthewjasper

@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 21, 2024
@bors

This comment was marked as resolved.

@Nadrieril Nadrieril force-pushed the match-lowering-testcase branch from b9bdc77 to 0610f59 Compare February 21, 2024 20:22
@matthewjasper
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Feb 22, 2024

📌 Commit 0610f59 has been approved by matthewjasper

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 22, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 22, 2024
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#120598 (No need to `validate_alias_bound_self_from_param_env` in `assemble_alias_bound_candidates`)
 - rust-lang#121386 (test that we do not support higher-ranked regions in opaque type inference)
 - rust-lang#121393 (match lowering: Introduce a `TestCase` enum to replace most matching on `PatKind`)
 - rust-lang#121401 (Fix typo in serialized.rs)
 - rust-lang#121427 (Fix panic when compiling `Rocket`.)
 - rust-lang#121439 (Fix typo in metadata.rs doc comment)
 - rust-lang#121441 (`DefId`  to `LocalDefId`)
 - rust-lang#121452 (Add new maintainers to nto-qnx.md)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 5a87e13 into rust-lang:master Feb 22, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 22, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 22, 2024
Rollup merge of rust-lang#121393 - Nadrieril:match-lowering-testcase, r=matthewjasper

match lowering: Introduce a `TestCase` enum to replace most matching on `PatKind`

Introduces `TestCase` that represents the specific outcome of a test. It complements `TestKind` which represents a test. In `MatchPair::new()` we select the appropriate `TestCase` for the pattern, and after that we almost never have to inspect the pattern directly during match lowering.

Together with rust-lang#120904, this makes `MatchPair` into a standalone abstraction that hides the details of `thir::Pat`. This will become even truer in the next PR where I make `TestCase` handle or patterns. This opens the door to a lot of future simplifications.

r? `@matthewjasper`
@Nadrieril Nadrieril deleted the match-lowering-testcase branch February 23, 2024 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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