about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-07-25 23:14:09 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-07-26 15:29:45 +0200
commit51eb0c3b361093b880009b997dc69cddcd73e9dc (patch)
tree60db82c54c0033421ca0b67ba7198fa935c49fb0
parent1f828f01552b54abb8e33610484d9269067fcc28 (diff)
downloadrust-51eb0c3b361093b880009b997dc69cddcd73e9dc.tar.gz
rust-51eb0c3b361093b880009b997dc69cddcd73e9dc.zip
Fix regression for private in public
-rw-r--r--src/librustdoc/clean/mod.rs1
-rw-r--r--tests/rustdoc/auxiliary/jump-to-def-res-err-handling-aux.rs1
-rw-r--r--tests/rustdoc/private-use.rs13
3 files changed, 15 insertions, 0 deletions
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 <https://github.com/rust-lang/rust/pull/113374> to
+// ensure it doesn't panic.
+
+mod generics {
+    pub enum WherePredicate {
+        EqPredicate,
+    }
+}
+pub mod visit {
+    use *;
+    pub fn visit_where_predicate<V>(_visitor: &mut V, _i: &WherePredicate) {}
+}
+pub use generics::*;