diff options
| author | bors <bors@rust-lang.org> | 2017-08-17 10:58:12 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-08-17 10:58:12 +0000 |
| commit | dd39ecf368a3cdb937e129f36a2a342d0c9358f0 (patch) | |
| tree | f9747d948ca1eec3556058a2e85a569c2baaae03 | |
| parent | a7e001833e3a40ddcccbc6f6764205162c83c027 (diff) | |
| parent | 14d62c650faeca7df7a2c702b20820ef52924e89 (diff) | |
| download | rust-dd39ecf368a3cdb937e129f36a2a342d0c9358f0.tar.gz rust-dd39ecf368a3cdb937e129f36a2a342d0c9358f0.zip | |
Auto merge of #43902 - michaelwoerister:fix-mir-passes-promoted, r=arielb1
Run MIR passes on promoted temporaries again. This seems to have been broken some time in the past (maybe here: https://github.com/rust-lang/rust/commit/9c154a67bf5c6841c39afdb90388cc3ba36dc70c#diff-2f8e8805126c84b2be3f0967ffa0af28L162). r? @arielb1
| -rw-r--r-- | src/librustc_mir/transform/mod.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index 38070a4b485..25a156ea3fd 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -149,6 +149,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); } |
