Don't print "private fields" on empty tuple structs

Test for presence rather than absence

Remove redundant tests

Issues in those parts will likely be caught by other parts of the test suite.
This commit is contained in:
Kyuuhachi
2023-11-23 01:56:09 +01:00
parent 1e9dda77b5
commit a21d7713db
2 changed files with 18 additions and 5 deletions
+9 -5
View File
@@ -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() {
@@ -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();