Skip to content

Commit 2b79094

Browse files
Add support for tuple struct fields documentation in enums as well
1 parent 19f30b7 commit 2b79094

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/librustdoc/clean/mod.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,9 +1730,7 @@ impl Clean<Variant> for hir::VariantData<'_> {
17301730
fn clean(&self, cx: &mut DocContext<'_>) -> Variant {
17311731
match self {
17321732
hir::VariantData::Struct(..) => Variant::Struct(self.clean(cx)),
1733-
hir::VariantData::Tuple(..) => {
1734-
Variant::Tuple(self.fields().iter().map(|x| x.ty.clean(cx)).collect())
1735-
}
1733+
hir::VariantData::Tuple(..) => Variant::Struct(self.clean(cx)),
17361734
hir::VariantData::Unit(..) => Variant::CLike,
17371735
}
17381736
}

src/librustdoc/html/render/print_item.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,8 +1037,9 @@ fn item_enum(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, e: &clean::Enum
10371037
write!(w, "<div class=\"sub-variant\" id=\"{id}\">", id = variant_id);
10381038
write!(
10391039
w,
1040-
"<h3>Fields of <b>{name}</b></h3><div>",
1041-
name = variant.name.as_ref().unwrap()
1040+
"<h3>{extra}Fields of <b>{name}</b></h3><div>",
1041+
extra = if s.struct_type == CtorKind::Fn { "Tuple " } else { "" },
1042+
name = variant.name.as_ref().unwrap(),
10421043
);
10431044
for field in &s.fields {
10441045
use crate::clean::StructFieldItem;
@@ -1509,7 +1510,10 @@ fn render_struct(
15091510
if let Some(g) = g {
15101511
write!(w, "{}", print_where_clause(g, cx, 0, false),)
15111512
}
1512-
w.write_str(";");
1513+
// We only want a ";" when we are displaying a tuple struct, not a variant tuple struct.
1514+
if structhead {
1515+
w.write_str(";");
1516+
}
15131517
}
15141518
CtorKind::Const => {
15151519
// Needed for PhantomData.

0 commit comments

Comments
 (0)