about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMartin Nordholts <enselic@gmail.com>2022-08-16 15:37:31 +0200
committerMartin Nordholts <enselic@gmail.com>2022-08-16 15:54:50 +0200
commitdbeb506eaefdda5d9d7927c4d10d6d13a336eaf3 (patch)
tree9c21f7c24065699488f12a4e62371821017871c3 /src
parent75b7e52e92c3b00fc891b47f5b2efdff0a2be55a (diff)
downloadrust-dbeb506eaefdda5d9d7927c4d10d6d13a336eaf3.tar.gz
rust-dbeb506eaefdda5d9d7927c4d10d6d13a336eaf3.zip
rustdoc JSON: Fix ICE with `pub extern crate self as <self_crate_name>`
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/json/mod.rs4
-rw-r--r--src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs11
2 files changed, 13 insertions, 2 deletions
diff --git a/src/librustdoc/json/mod.rs b/src/librustdoc/json/mod.rs
index 6364d00d062..7b1b059e14d 100644
--- a/src/librustdoc/json/mod.rs
+++ b/src/librustdoc/json/mod.rs
@@ -209,11 +209,11 @@ impl<'tcx> FormatRenderer<'tcx> for JsonRenderer<'tcx> {
                 }
 
                 types::ItemEnum::Method(_)
+                | types::ItemEnum::Module(_)
                 | types::ItemEnum::AssocConst { .. }
                 | types::ItemEnum::AssocType { .. }
                 | types::ItemEnum::PrimitiveType(_) => true,
-                types::ItemEnum::Module(_)
-                | types::ItemEnum::ExternCrate { .. }
+                types::ItemEnum::ExternCrate { .. }
                 | types::ItemEnum::Import(_)
                 | types::ItemEnum::StructField(_)
                 | types::ItemEnum::Variant(_)
diff --git a/src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs b/src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs
new file mode 100644
index 00000000000..fda38056a09
--- /dev/null
+++ b/src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs
@@ -0,0 +1,11 @@
+//! Regression test for <https://github.com/rust-lang/rust/issues/100531>
+
+#![feature(no_core)]
+#![no_core]
+
+#![crate_name = "export_extern_crate_as_self"]
+
+// ignore-tidy-linelength
+
+// @is export_extern_crate_as_self.json "$.index[*][?(@.kind=='module')].name" \"export_extern_crate_as_self\"
+pub extern crate self as export_extern_crate_as_self; // Must be the same name as the crate already has