1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use std::borrow::Cow;
use crate::MirPass;
use rustc_middle::mir::{Body, MirPhase};
use rustc_middle::ty::TyCtxt;
/// Changes the MIR phase without changing the MIR itself.
pub struct PhaseChange(pub MirPhase);
impl<'tcx> MirPass<'tcx> for PhaseChange {
fn phase_change(&self) -> Option<MirPhase> {
Some(self.0)
}
fn name(&self) -> Cow<'_, str> {
Cow::from(format!("PhaseChange-{:?}", self.0))
}
fn run_pass(&self, _: TyCtxt<'tcx>, _body: &mut Body<'tcx>) {}
}