diff options
| author | bors <bors@rust-lang.org> | 2023-07-03 02:46:39 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-07-03 02:46:39 +0000 |
| commit | d5a74249c843e06b502fb097ebea2383b9a5d9b8 (patch) | |
| tree | d6912b9f7861020463b1d389a34c459a359a00d8 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 571c9fc8a9693bb75822d7b46a8d3bed0388e925 (diff) | |
| parent | 4fbd6d5af46d8c93a25f3742b7837535dd6f82ed (diff) | |
| download | rust-d5a74249c843e06b502fb097ebea2383b9a5d9b8.tar.gz rust-d5a74249c843e06b502fb097ebea2383b9a5d9b8.zip | |
Auto merge of #112882 - DrMeepster:new_un_derefer, r=oli-obk
Rewrite `UnDerefer` Currently, `UnDerefer` is used by drop elaboration to undo the effects of the `Derefer` pass. However, it just recreates the original places with derefs in the middle of the projection. Because `ProjectionElem::Deref` is intended to be removed completely in the future, this will not work forever. This PR introduces a `deref_chain` method that returns the places behind `DerefTemp` locals in a place and rewrites the move path code to use this. In the process, `UnDerefer` was merged into `MovePathLookup`. Now that move paths use the same places as in the MIR, the other uses of `UnDerefer` no longer require it. See #98145 cc `@ouz-a` r? `@oli-obk`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
