diff options
| author | bors <bors@rust-lang.org> | 2018-11-16 21:11:24 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-11-16 21:11:24 +0000 |
| commit | ee821736ccdf1d370bf2c906ce3c133c0fc295d4 (patch) | |
| tree | 6e4765a4d7b495bda451969034640ca2c0eac170 | |
| parent | 6b9b97bd9b704f85f0184f7a213cc4d62bd9654c (diff) | |
| parent | 547ac5ef0a2c34fb62611bddb4c45f57049f8f64 (diff) | |
| download | rust-ee821736ccdf1d370bf2c906ce3c133c0fc295d4.tar.gz rust-ee821736ccdf1d370bf2c906ce3c133c0fc295d4.zip | |
Auto merge of #55936 - nrc:save-rename, r=eddyb
save-analysis: be even more aggressive about ignorning macro-generated defs r? @eddyb
| -rw-r--r-- | src/librustc_save_analysis/dump_visitor.rs | 12 | ||||
| -rw-r--r-- | src/librustc_save_analysis/span_utils.rs | 6 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index 0c0f50c1fd7..15c8861eb3f 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -658,11 +658,13 @@ impl<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> { impl_items: &'l [ast::ImplItem], ) { if let Some(impl_data) = self.save_ctxt.get_item_data(item) { - if let super::Data::RelationData(rel, imp) = impl_data { - self.dumper.dump_relation(rel); - self.dumper.dump_impl(imp); - } else { - span_bug!(item.span, "unexpected data kind: {:?}", impl_data); + if !self.span.filter_generated(item.span) { + if let super::Data::RelationData(rel, imp) = impl_data { + self.dumper.dump_relation(rel); + self.dumper.dump_impl(imp); + } else { + span_bug!(item.span, "unexpected data kind: {:?}", impl_data); + } } } self.visit_ty(&typ); diff --git a/src/librustc_save_analysis/span_utils.rs b/src/librustc_save_analysis/span_utils.rs index 902353da13f..06b4f33b5db 100644 --- a/src/librustc_save_analysis/span_utils.rs +++ b/src/librustc_save_analysis/span_utils.rs @@ -124,14 +124,10 @@ impl<'a> SpanUtils<'a> { /// Used to filter out spans of minimal value, /// such as references to macro internal variables. pub fn filter_generated(&self, span: Span) -> bool { - if span.is_dummy() { + if generated_code(span) { return true; } - if !generated_code(span) { - return false; - } - //If the span comes from a fake source_file, filter it. !self.sess .source_map() |
