Skip to content

Commit 7aed245

Browse files
committed
Auto merge of rust-lang#30779 - michaelwoerister:closure-mir-in-metadata, r=nikomatsakis
2 parents d3c83fe + c8a547a commit 7aed245

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/librustc_metadata/encoder.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -806,18 +806,18 @@ fn encode_inlined_item(ecx: &EncodeContext,
806806
let eii: &mut EncodeInlinedItem = &mut *eii;
807807
eii(ecx, rbml_w, ii);
808808

809-
encode_mir(ecx, rbml_w, ii);
810-
}
811-
812-
fn encode_mir(ecx: &EncodeContext, rbml_w: &mut Encoder, ii: InlinedItemRef) {
813-
let id = match ii {
809+
let node_id = match ii {
814810
InlinedItemRef::Item(item) => item.id,
815811
InlinedItemRef::TraitItem(_, trait_item) => trait_item.id,
816812
InlinedItemRef::ImplItem(_, impl_item) => impl_item.id,
817813
InlinedItemRef::Foreign(foreign_item) => foreign_item.id
818814
};
819815

820-
if let Some(mir) = ecx.mir_map.get(&id) {
816+
encode_mir(ecx, rbml_w, node_id);
817+
}
818+
819+
fn encode_mir(ecx: &EncodeContext, rbml_w: &mut Encoder, node_id: NodeId) {
820+
if let Some(mir) = ecx.mir_map.get(&node_id) {
821821
rbml_w.start_tag(tag_mir as usize);
822822
rbml_w.emit_opaque(|opaque_encoder| {
823823
tls::enter_encoding_context(ecx, opaque_encoder, |_, opaque_encoder| {
@@ -1436,6 +1436,9 @@ fn my_visit_expr(expr: &hir::Expr,
14361436

14371437
ecx.tcx.map.with_path(expr.id, |path| encode_path(rbml_w, path));
14381438

1439+
assert!(ecx.mir_map.contains_key(&expr.id));
1440+
encode_mir(ecx, rbml_w, expr.id);
1441+
14391442
rbml_w.end_tag();
14401443
}
14411444
_ => { }

0 commit comments

Comments
 (0)