rust/compiler/rustc_mir_transform
bors d5a74249c8 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`
2023-07-03 02:46:39 +00:00
..
src Auto merge of #112882 - DrMeepster:new_un_derefer, r=oli-obk 2023-07-03 02:46:39 +00:00
Cargo.toml Migrate mir_transform to translatable diagnostics 2023-05-02 16:24:18 +01:00
messages.ftl Add note about unsafe functions body not being unsafe 2023-06-13 15:48:57 +02:00