about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEzra Shaw <ezrasure@outlook.com>2023-03-11 21:22:42 +1300
committerEzra Shaw <ezrasure@outlook.com>2023-03-26 18:05:42 +1300
commite0ec9c0b9c08677b967fb2f50978bcb4466152cd (patch)
treed1af1ba0272ea9414b5f814d3289ea2784c434c0
parent0c61c7a978fe9f7b77a1d667c77d2202dadd1c10 (diff)
downloadrust-e0ec9c0b9c08677b967fb2f50978bcb4466152cd.tar.gz
rust-e0ec9c0b9c08677b967fb2f50978bcb4466152cd.zip
rustdoc: tweak `some variants omitted`
Don't display `// some variants omitted` if enum is marked
`#[non_exhaustive]`
-rw-r--r--src/librustdoc/html/render/print_item.rs2
-rw-r--r--tests/rustdoc/issue-108925.rs11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs
index 579b5a9c723..674cd0d62d4 100644
--- a/src/librustdoc/html/render/print_item.rs
+++ b/src/librustdoc/html/render/print_item.rs
@@ -1234,7 +1234,7 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean::
                 w.write_str(",\n");
             }
 
-            if variants_stripped {
+            if variants_stripped && !it.is_non_exhaustive() {
                 w.write_str("    // some variants omitted\n");
             }
             if toggle {
diff --git a/tests/rustdoc/issue-108925.rs b/tests/rustdoc/issue-108925.rs
new file mode 100644
index 00000000000..88aeb3c7f75
--- /dev/null
+++ b/tests/rustdoc/issue-108925.rs
@@ -0,0 +1,11 @@
+// @has issue_108925/enum.MyThing.html
+// @has - '//code' 'Shown'
+// @!has - '//code' 'NotShown'
+// @!has - '//code' '// some variants omitted'
+#[non_exhaustive]
+pub enum MyThing {
+    Shown,
+    #[doc(hidden)]
+    NotShown,
+}
+