From 7edd1810b41e239ea59b22a73a87f8c377d2293f Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Fri, 25 Dec 2020 19:04:50 -0500 Subject: Don't panic when an external crate can't be resolved This isn't actually a bug, it can occur when rustdoc tries to resolve a crate that isn't used in the main code. --- src/librustdoc/core.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/librustdoc') diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 7e85342ac7d..819dc06845f 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -428,16 +428,15 @@ crate fn create_resolver<'a>( sess.time("load_extern_crates", || { for extern_name in &extern_names { debug!("loading extern crate {}", extern_name); - resolver + if let Err(()) = resolver .resolve_str_path_error( DUMMY_SP, extern_name, TypeNS, LocalDefId { local_def_index: CRATE_DEF_INDEX }.to_def_id(), - ) - .unwrap_or_else(|()| { - panic!("Unable to resolve external crate {}", extern_name) - }); + ) { + warn!("unable to resolve external crate {} (do you have an unused `--extern` crate?)", extern_name) + } } }); }); -- cgit 1.4.1-3-g733a5