1
Fork 0

Visit place in BackwardIncompatibleDropHint statement

This commit is contained in:
Michael Goulet 2025-04-13 22:01:54 +00:00
parent 51548ce71f
commit 2f96e784e2
8 changed files with 19 additions and 25 deletions

View file

@ -35,7 +35,8 @@ impl<'tcx> crate::MirPass<'tcx> for CleanupPostBorrowck {
// MIR building, and are not needed after InstrumentCoverage.
CoverageKind::BlockMarker { .. } | CoverageKind::SpanMarker { .. },
)
| StatementKind::FakeRead(..) => statement.make_nop(),
| StatementKind::FakeRead(..)
| StatementKind::BackwardIncompatibleDropHint { .. } => statement.make_nop(),
StatementKind::Assign(box (
_,
Rvalue::Cast(

View file

@ -597,20 +597,6 @@ impl<'tcx> MutVisitor<'tcx> for LocalUpdater<'tcx> {
self.tcx
}
fn visit_statement(&mut self, statement: &mut Statement<'tcx>, location: Location) {
if let StatementKind::BackwardIncompatibleDropHint { place, reason: _ } =
&mut statement.kind
{
self.visit_local(
&mut place.local,
PlaceContext::MutatingUse(MutatingUseContext::Store),
location,
);
} else {
self.super_statement(statement, location);
}
}
fn visit_local(&mut self, l: &mut Local, _: PlaceContext, _: Location) {
*l = self.map[*l].unwrap();
}