@@ -873,30 +873,31 @@ impl <'l, 'tcx> DumpCsvVisitor<'l, 'tcx> {
873
873
874
874
self . write_sub_paths_truncated ( path, false ) ;
875
875
876
- let struct_lit_data = self . save_ctxt . get_expr_data ( ex) ;
877
- down_cast_data ! ( struct_lit_data, TypeRefData , self , ex. span) ;
878
- self . fmt . ref_str ( recorder:: TypeRef ,
879
- ex. span ,
880
- Some ( struct_lit_data. span ) ,
881
- struct_lit_data. ref_id ,
882
- struct_lit_data. scope ) ;
883
- let struct_def = struct_lit_data. ref_id ;
884
-
885
- for field in fields {
886
- if generated_code ( field. ident . span ) {
887
- continue ;
888
- }
876
+ if let Some ( struct_lit_data) = self . save_ctxt . get_expr_data ( ex) {
877
+ down_cast_data ! ( struct_lit_data, TypeRefData , self , ex. span) ;
878
+ self . fmt . ref_str ( recorder:: TypeRef ,
879
+ ex. span ,
880
+ Some ( struct_lit_data. span ) ,
881
+ struct_lit_data. ref_id ,
882
+ struct_lit_data. scope ) ;
883
+ let struct_def = struct_lit_data. ref_id ;
884
+
885
+ for field in fields {
886
+ if generated_code ( field. ident . span ) {
887
+ continue ;
888
+ }
889
889
890
- let field_data = self . save_ctxt . get_field_ref_data ( field,
891
- struct_def,
892
- self . cur_scope ) ;
893
- self . fmt . ref_str ( recorder:: VarRef ,
894
- field. ident . span ,
895
- Some ( field_data. span ) ,
896
- field_data. ref_id ,
897
- field_data. scope ) ;
890
+ let field_data = self . save_ctxt . get_field_ref_data ( field,
891
+ struct_def,
892
+ self . cur_scope ) ;
893
+ self . fmt . ref_str ( recorder:: VarRef ,
894
+ field. ident . span ,
895
+ Some ( field_data. span ) ,
896
+ field_data. ref_id ,
897
+ field_data. scope ) ;
898
898
899
- self . visit_expr ( & field. expr )
899
+ self . visit_expr ( & field. expr )
900
+ }
900
901
}
901
902
902
903
visit:: walk_expr_opt ( self , base)
@@ -1256,13 +1257,14 @@ impl<'l, 'tcx, 'v> Visitor<'v> for DumpCsvVisitor<'l, 'tcx> {
1256
1257
1257
1258
self . visit_expr ( & sub_ex) ;
1258
1259
1259
- let field_data = self . save_ctxt . get_expr_data ( ex) ;
1260
- down_cast_data ! ( field_data, VariableRefData , self , ex. span) ;
1261
- self . fmt . ref_str ( recorder:: VarRef ,
1262
- ex. span ,
1263
- Some ( field_data. span ) ,
1264
- field_data. ref_id ,
1265
- field_data. scope ) ;
1260
+ if let Some ( field_data) = self . save_ctxt . get_expr_data ( ex) {
1261
+ down_cast_data ! ( field_data, VariableRefData , self , ex. span) ;
1262
+ self . fmt . ref_str ( recorder:: VarRef ,
1263
+ ex. span ,
1264
+ Some ( field_data. span ) ,
1265
+ field_data. ref_id ,
1266
+ field_data. scope ) ;
1267
+ }
1266
1268
} ,
1267
1269
ast:: ExprTupField ( ref sub_ex, idx) => {
1268
1270
if generated_code ( sub_ex. span ) {
0 commit comments