@@ -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