about summary refs log tree commit diff
path: root/src/librustc_save_analysis
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2016-11-21 18:11:36 +1300
committerNick Cameron <ncameron@mozilla.com>2016-11-23 11:53:27 +1300
commit3295afa6e2dd9d3b50bce0342199a7d448d480aa (patch)
tree4f335ef004baa40e6193ea523cba5f506427b313 /src/librustc_save_analysis
parent4bc929013396eede8a22a3e7932fb3a63d2a11da (diff)
downloadrust-3295afa6e2dd9d3b50bce0342199a7d448d480aa.tar.gz
rust-3295afa6e2dd9d3b50bce0342199a7d448d480aa.zip
save-analysis: fix ICE on partially resolved path
Occurs when we produce save-analysis before type checking is complete (due to errors).
Diffstat (limited to 'src/librustc_save_analysis')
-rw-r--r--src/librustc_save_analysis/lib.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs
index 778f0184141..4c59f5e8a83 100644
--- a/src/librustc_save_analysis/lib.rs
+++ b/src/librustc_save_analysis/lib.rs
@@ -497,7 +497,7 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
     }
 
     pub fn get_path_data(&self, id: NodeId, path: &ast::Path) -> Option<Data> {
-        let def = self.tcx.expect_def(id);
+        let def = option_try!(self.tcx.expect_resolution(id).maybe_full_def());
         let sub_span = self.span_utils.span_for_last_ident(path.span);
         filter!(self.span_utils, sub_span, path.span, None);
         match def {