Skip to content

Commit

Permalink
Auto merge of #112882 - DrMeepster:new_un_derefer, r=oli-obk
Browse files Browse the repository at this point in the history
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`
  • Loading branch information
bors committed Jul 3, 2023
2 parents 000db75 + 99d8873 commit de38254
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit de38254

Please sign in to comment.