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

View File

@ -1501,8 +1501,10 @@ fn print_tuple_struct_fields<'a, 'cx: 'a>(
s: &'a [clean::Item], s: &'a [clean::Item],
) -> impl fmt::Display + 'a + Captures<'cx> { ) -> impl fmt::Display + 'a + Captures<'cx> {
display_fn(|f| { display_fn(|f| {
if s.iter() if !s.is_empty()
.all(|field| matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))) && s.iter().all(|field| {
matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))
})
{ {
return f.write_str("/* private fields */"); return f.write_str("/* private fields */");
} }
@ -2275,9 +2277,11 @@ fn render_struct_fields(
} }
Some(CtorKind::Fn) => { Some(CtorKind::Fn) => {
w.write_str("("); w.write_str("(");
if fields.iter().all(|field| { if !fields.is_empty()
matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..))) && fields.iter().all(|field| {
}) { matches!(*field.kind, clean::StrippedItem(box clean::StructFieldItem(..)))
})
{
write!(w, "/* private fields */"); write!(w, "/* private fields */");
} else { } else {
for (i, field) in fields.iter().enumerate() { for (i, field) in fields.iter().enumerate() {

View File

@ -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();