diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 743ba6835db..998380abfac 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -1584,6 +1584,7 @@ fn first_non_private<'tcx>( if let Some(use_def_id) = reexp.id() && let Some(local_use_def_id) = use_def_id.as_local() && let Some(hir::Node::Item(item)) = hir.find_by_def_id(local_use_def_id) && + !item.ident.name.is_empty() && let hir::ItemKind::Use(path, _) = item.kind { for res in &path.res { diff --git a/tests/rustdoc/auxiliary/jump-to-def-res-err-handling-aux.rs b/tests/rustdoc/auxiliary/jump-to-def-res-err-handling-aux.rs new file mode 100644 index 00000000000..eacec957a2a --- /dev/null +++ b/tests/rustdoc/auxiliary/jump-to-def-res-err-handling-aux.rs @@ -0,0 +1 @@ +pub struct Ident; diff --git a/tests/rustdoc/private-use.rs b/tests/rustdoc/private-use.rs new file mode 100644 index 00000000000..689ed73140d --- /dev/null +++ b/tests/rustdoc/private-use.rs @@ -0,0 +1,13 @@ +// Regression test for to +// ensure it doesn't panic. + +mod generics { + pub enum WherePredicate { + EqPredicate, + } +} +pub mod visit { + use *; + pub fn visit_where_predicate(_visitor: &mut V, _i: &WherePredicate) {} +} +pub use generics::*;