diff --git a/src/librustc_trans/save/dump_csv.rs b/src/librustc_trans/save/dump_csv.rs index d86242f39cea7763e94e9d3ebff435a0402059f4..c0bfd6fbcb713c151637dd84e7f27ed623a71c03 100644 --- a/src/librustc_trans/save/dump_csv.rs +++ b/src/librustc_trans/save/dump_csv.rs @@ -937,7 +937,7 @@ fn process_method_call(&mut self, fn process_pat(&mut self, p:&ast::Pat) { if generated_code(p.span) { - return + return; } match p.node { @@ -963,6 +963,10 @@ fn process_pat(&mut self, p:&ast::Pat) { if let Some(struct_def) = struct_def { let struct_fields = self.tcx.lookup_struct_fields(struct_def); for &Spanned { node: ref field, span } in fields { + if generated_code(span) { + continue; + } + let sub_span = self.span.span_for_first_ident(span); for f in &struct_fields { if f.name == field.ident.name { @@ -974,7 +978,7 @@ fn process_pat(&mut self, p:&ast::Pat) { break; } } - self.visit_pat(&*field.pat); + self.visit_pat(&field.pat); } } }