about summary refs log tree commit diff
path: root/src/librustc_save_analysis
diff options
context:
space:
mode:
authorShotaro Yamada <sinkuu@sinkuu.xyz>2018-04-10 23:01:24 +0900
committerShotaro Yamada <sinkuu@sinkuu.xyz>2018-04-11 01:17:59 +0900
commitbbed61d3d2489eb974d52e327b4fe63e361426ce (patch)
treed44f913b5739257e4e08d3f57e97beb8afbd306f /src/librustc_save_analysis
parent4b9b70c394e7f341b4016fce4cbf763d404b26f9 (diff)
downloadrust-bbed61d3d2489eb974d52e327b4fe63e361426ce.tar.gz
rust-bbed61d3d2489eb974d52e327b4fe63e361426ce.zip
Extend `ExternCrate` to cover externs inferred from `use` or paths
Diffstat (limited to 'src/librustc_save_analysis')
-rw-r--r--src/librustc_save_analysis/lib.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs
index 4f46fb3545b..34a9b57c9dc 100644
--- a/src/librustc_save_analysis/lib.rs
+++ b/src/librustc_save_analysis/lib.rs
@@ -42,6 +42,7 @@ use rustc::hir;
 use rustc::hir::def::Def as HirDef;
 use rustc::hir::map::{Node, NodeItem};
 use rustc::hir::def_id::{DefId, LOCAL_CRATE};
+use rustc::middle::cstore::ExternCrate;
 use rustc::session::config::CrateType::CrateTypeExecutable;
 use rustc::ty::{self, TyCtxt};
 use rustc_typeck::hir_ty_to_ty;
@@ -112,10 +113,9 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
 
         for &n in self.tcx.crates().iter() {
             let span = match *self.tcx.extern_crate(n.as_def_id()) {
-                Some(ref c) => c.span,
+                Some(ExternCrate { span, .. }) => span,
                 None => {
-                    debug!("Skipping crate {}, no data", n);
-                    continue;
+                    bug!("no data for crate {}", n);
                 }
             };
             let lo_loc = self.span_utils.sess.codemap().lookup_char_pos(span.lo());