about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_save_analysis/dump_visitor.rs12
-rw-r--r--src/librustc_save_analysis/span_utils.rs6
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()