about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-11-23 17:41:46 +0000
committerbors <bors@rust-lang.org>2023-11-23 17:41:46 +0000
commita4a5c976fee30bdd350aa0df10b14cb87ade48fe (patch)
tree1fc4f921ac36ee17cbd7cb15537e89efbc234106 /src
parent237339fda17395d3e35f3028a0e0aa8278c3a4bf (diff)
parenta21d7713db7c19d126cc4dd38abd56ed73bdb729 (diff)
downloadrust-a4a5c976fee30bdd350aa0df10b14cb87ade48fe.tar.gz
rust-a4a5c976fee30bdd350aa0df10b14cb87ade48fe.zip
Auto merge of #118192 - Kyuuhachi:issue-118180, r=fmease
Don't print "private fields" on empty tuple structs

Closes #118180.

While working on this I also noticed that empty struct variants are also rendered rather awkwardly. I'll make another issue for that, since I don't know what the correct rendering would be.
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/html/render/print_item.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs
index 8fdbef65135..927bec4251e 100644
--- a/src/librustdoc/html/render/print_item.rs
+++ b/src/librustdoc/html/render/print_item.rs
@@ -1501,8 +1501,10 @@ fn print_tuple_struct_fields<'a, 'cx: 'a>(
     s: &'a [clean::Item],
 ) -> impl fmt::Display + 'a + Captures<'cx> {
     display_fn(|f| {
-        if s.iter()
-            .all(|field| matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..))))
+        if !s.is_empty()
+            && s.iter().all(|field| {
+                matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))
+            })
         {
             return f.write_str("/* private fields */");
         }
@@ -2275,9 +2277,11 @@ fn render_struct_fields(
         }
         Some(CtorKind::Fn) => {
             w.write_str("(");
-            if fields.iter().all(|field| {
-                matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))
-            }) {
+            if !fields.is_empty()
+                && fields.iter().all(|field| {
+                    matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))
+                })
+            {
                 write!(w, "/* private fields */");
             } else {
                 for (i, field) in fields.iter().enumerate() {