mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-12 23:13:15 +00:00
Make check_live_drops
into a MirLint
.
It's a thin wrapper around `check_live_drops`, but it's enough to fix the FIXME comment.
This commit is contained in:
parent
7023402691
commit
8949b443d5
@ -87,6 +87,7 @@ mod match_branches;
|
||||
mod mentioned_items;
|
||||
mod multiple_return_terminators;
|
||||
mod nrvo;
|
||||
mod post_drop_elaboration;
|
||||
mod prettify;
|
||||
mod promote_consts;
|
||||
mod ref_prop;
|
||||
@ -480,11 +481,13 @@ pub fn run_analysis_to_runtime_passes<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'
|
||||
pm::run_passes(
|
||||
tcx,
|
||||
body,
|
||||
&[&remove_uninit_drops::RemoveUninitDrops, &simplify::SimplifyCfg::RemoveFalseEdges],
|
||||
&[
|
||||
&remove_uninit_drops::RemoveUninitDrops,
|
||||
&simplify::SimplifyCfg::RemoveFalseEdges,
|
||||
&Lint(post_drop_elaboration::CheckLiveDrops),
|
||||
],
|
||||
None,
|
||||
);
|
||||
// FIXME: make this a MIR lint
|
||||
check_consts::post_drop_elaboration::check_live_drops(tcx, body);
|
||||
}
|
||||
|
||||
debug!("runtime_mir_lowering({:?})", did);
|
||||
|
13
compiler/rustc_mir_transform/src/post_drop_elaboration.rs
Normal file
13
compiler/rustc_mir_transform/src/post_drop_elaboration.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use rustc_const_eval::check_consts;
|
||||
use rustc_middle::mir::*;
|
||||
use rustc_middle::ty::TyCtxt;
|
||||
|
||||
use crate::MirLint;
|
||||
|
||||
pub(super) struct CheckLiveDrops;
|
||||
|
||||
impl<'tcx> MirLint<'tcx> for CheckLiveDrops {
|
||||
fn run_lint(&self, tcx: TyCtxt<'tcx>, body: &Body<'tcx>) {
|
||||
check_consts::post_drop_elaboration::check_live_drops(tcx, body);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user