@@ -806,18 +806,18 @@ fn encode_inlined_item(ecx: &EncodeContext,
806
806
let eii: & mut EncodeInlinedItem = & mut * eii;
807
807
eii ( ecx, rbml_w, ii) ;
808
808
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 {
814
810
InlinedItemRef :: Item ( item) => item. id ,
815
811
InlinedItemRef :: TraitItem ( _, trait_item) => trait_item. id ,
816
812
InlinedItemRef :: ImplItem ( _, impl_item) => impl_item. id ,
817
813
InlinedItemRef :: Foreign ( foreign_item) => foreign_item. id
818
814
} ;
819
815
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) {
821
821
rbml_w. start_tag ( tag_mir as usize ) ;
822
822
rbml_w. emit_opaque ( |opaque_encoder| {
823
823
tls:: enter_encoding_context ( ecx, opaque_encoder, |_, opaque_encoder| {
@@ -1436,6 +1436,9 @@ fn my_visit_expr(expr: &hir::Expr,
1436
1436
1437
1437
ecx. tcx . map . with_path ( expr. id , |path| encode_path ( rbml_w, path) ) ;
1438
1438
1439
+ assert ! ( ecx. mir_map. contains_key( & expr. id) ) ;
1440
+ encode_mir ( ecx, rbml_w, expr. id ) ;
1441
+
1439
1442
rbml_w. end_tag ( ) ;
1440
1443
}
1441
1444
_ => { }
0 commit comments