20 lines
501 B
Rust
20 lines
501 B
Rust
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>) {}
|
|
}
|