From 14d62c650faeca7df7a2c702b20820ef52924e89 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Wed, 16 Aug 2017 15:13:55 +0200 Subject: [PATCH] Run MIR passes on promoted temporaries again. --- src/librustc_mir/transform/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index e3e4265a7dbc6..6b211fc530efa 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -148,6 +148,14 @@ fn run_suite<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, pass.run_pass(tcx, source, mir); + for (index, promoted_mir) in mir.promoted.iter_enumerated_mut() { + let promoted_source = MirSource::Promoted(source.item_id(), index); + pass.run_pass(tcx, promoted_source, promoted_mir); + + // Let's make sure we don't miss any nested instances + assert!(promoted_mir.promoted.is_empty()); + } + for hook in tcx.mir_passes.hooks() { hook.on_mir_pass(tcx, suite, pass_num, &pass.name(), source, &mir, true); }