about summary refs log tree commit diff
path: root/library/std/src/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-09-29 00:16:17 +0000
committerbors <bors@rust-lang.org>2021-09-29 00:16:17 +0000
commit6df1d82869d06b88ff413e63a1e8efbb311e3b5c (patch)
tree22d0ccf49286fc65743e82737db0f731b8f504af /library/std/src/sys/unix/process/process_unix.rs
parent8f8092cc32ec171becef8ceacec7dbb06c5d7d7e (diff)
parentb7e358ee17a5794603b2324858de078c4586acfc (diff)
downloadrust-6df1d82869d06b88ff413e63a1e8efbb311e3b5c.tar.gz
rust-6df1d82869d06b88ff413e63a1e8efbb311e3b5c.zip
Auto merge of #88950 - Nadrieril:deconstruct-pat, r=oli-obk
Add an intermediate representation to exhaustiveness checking

The exhaustiveness checking algorithm keeps deconstructing patterns into a `Constructor` and some `Fields`, but does so a bit all over the place. This PR introduces a new representation for patterns that already has that information, so we only compute it once at the start.
I find this makes code easier to follow. In particular `DeconstructedPat::specialize` is a lot simpler than what happened before, and more closely matches the description of the algorithm. I'm also hoping this could help for the project of librarifying exhaustiveness for rust_analyzer since it decouples the algorithm from `rustc_middle::Pat`.
Diffstat (limited to 'library/std/src/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions