diff options
| author | bors <bors@rust-lang.org> | 2023-05-31 16:36:51 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-05-31 16:36:51 +0000 |
| commit | 871b5952023139738f72eba235063575062bc2e9 (patch) | |
| tree | b86f5fd3b7adb32b6048316468024d25c5f86851 /compiler/rustc_codegen_gcc | |
| parent | ad8304a0d5280de30856b39c19df7b306957e878 (diff) | |
| parent | 3c02cfc3e7e52ce023b565180c63c72bd7ab675d (diff) | |
| download | rust-871b5952023139738f72eba235063575062bc2e9.tar.gz rust-871b5952023139738f72eba235063575062bc2e9.zip | |
Auto merge of #111913 - oli-obk:valtrees2, r=lcnr
Only rewrite valtree-constants to patterns and keep other constants opaque
Now that we can reliably fall back to comparing constants with `PartialEq::eq` to the match scrutinee, we can
1. eagerly try to convert constants to valtrees
2. then deeply convert the valtree to a pattern
3. if the to-valtree conversion failed, create an "opaque constant" pattern.
This PR specifically avoids any behavioral changes or major cleanups. What we can now do as follow ups is
* move the two remaining call sites to `destructure_mir_constant` off that query
* make valtree to pattern conversion infallible
* this needs to be done after careful analysis of the effects. There may be user visible changes from that.
based on https://github.com/rust-lang/rust/pull/111768
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions
