about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-02-21 01:11:34 +0000
committerbors <bors@rust-lang.org>2024-02-21 01:11:34 +0000
commit4e650749337bd4b0b464ebb5252d122b7cb98c8d (patch)
treedb1125a1cb333fb420e0853f7d98974b17b2d279 /compiler/rustc_codegen_gcc
parent2dc0170233689435f988579a2080f27b02027d21 (diff)
parent328c77683eda8356352dc619734dc5c49b2e2b84 (diff)
downloadrust-4e650749337bd4b0b464ebb5252d122b7cb98c8d.tar.gz
rust-4e650749337bd4b0b464ebb5252d122b7cb98c8d.zip
Auto merge of #120904 - Nadrieril:match-lowering-intermediate-repr, r=matthewjasper
match lowering: eagerly simplify match pairs

This removes one important complication from match lowering. Before this, match pair simplification (which includes collecting bindings and type ascriptions) was intertwined with the whole match lowering algorithm.

I'm avoiding this by storing in each `MatchPair` the sub-`MatchPair`s that correspond to its subfields. This makes it possible to simplify everything (except or-patterns) in `Candidate::new()`.

This should open up further simplifications. It will also give us proper control over the order of bindings.

r? `@matthewjasper`
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions