Skip to content

Commit

Permalink
Auto merge of rust-lang#118192 - Kyuuhachi:issue-118180, r=fmease
Browse files Browse the repository at this point in the history
Don't print "private fields" on empty tuple structs

Closes rust-lang#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.
  • Loading branch information
bors committed Nov 23, 2023
2 parents 237339f + a21d771 commit a4a5c97
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/librustdoc/html/render/print_item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 */");
}
Expand Down Expand Up @@ -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() {
Expand Down
9 changes: 9 additions & 0 deletions tests/rustdoc/issue-118180-empty-tuple-struct.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// @has issue_118180_empty_tuple_struct/enum.Enum.html
pub enum Enum {
// @has - '//*[@id="variant.Empty"]//h3' 'Empty()'
Empty(),
}

// @has issue_118180_empty_tuple_struct/struct.Empty.html
// @has - '//pre/code' 'Empty()'
pub struct Empty();

0 comments on commit a4a5c97

Please sign in to comment.