about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSeo Sanghyeon <sanxiyn@gmail.com>2017-01-02 20:32:58 +0900
committerSeo Sanghyeon <sanxiyn@gmail.com>2017-01-02 20:32:58 +0900
commit631955888ee23bff7f968e4b03d5923caefe7bfe (patch)
tree2f78a6e1ffdaf77d3b2cc4ba725989ee74846486
parentac5cd3bd43b9dbe681417e482065b24c08c544e8 (diff)
downloadrust-631955888ee23bff7f968e4b03d5923caefe7bfe.tar.gz
rust-631955888ee23bff7f968e4b03d5923caefe7bfe.zip
Avoid rustdoc ICE when an unstable feature is used
-rw-r--r--src/librustdoc/core.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index 1f989c557d3..514eb6ea843 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -156,9 +156,15 @@ pub fn run_core(search_paths: SearchPaths,
     let name = link::find_crate_name(Some(&sess), &krate.attrs, &input);
 
     let driver::ExpansionResult { defs, analysis, resolutions, mut hir_forest, .. } = {
-        driver::phase_2_configure_and_expand(
-            &sess, &cstore, krate, None, &name, None, resolve::MakeGlobMap::No, |_| Ok(()),
-        ).expect("phase_2_configure_and_expand aborted in rustdoc!")
+        let result = driver::phase_2_configure_and_expand(&sess,
+                                                          &cstore,
+                                                          krate,
+                                                          None,
+                                                          &name,
+                                                          None,
+                                                          resolve::MakeGlobMap::No,
+                                                          |_| Ok(()));
+        abort_on_err(result, &sess)
     };
 
     let arena = DroplessArena::new();