diff options
| author | Guillaume Gomez <guillaume.gomez@huawei.com> | 2021-07-25 21:18:02 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume.gomez@huawei.com> | 2021-07-26 11:15:20 +0200 |
| commit | 2b790944a010498dd25a3bb327f2560927442c69 (patch) | |
| tree | 8942184562fbaa8de2322ad66bba331efe654b56 | |
| parent | 19f30b72b30c7745d3ed126ebeaf3fe3d253677f (diff) | |
| download | rust-2b790944a010498dd25a3bb327f2560927442c69.tar.gz rust-2b790944a010498dd25a3bb327f2560927442c69.zip | |
Add support for tuple struct fields documentation in enums as well
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/html/render/print_item.rs | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 1a2852dc6c7..a5ad8dfeb6b 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -1730,9 +1730,7 @@ impl Clean<Variant> for hir::VariantData<'_> { fn clean(&self, cx: &mut DocContext<'_>) -> Variant { match self { hir::VariantData::Struct(..) => Variant::Struct(self.clean(cx)), - hir::VariantData::Tuple(..) => { - Variant::Tuple(self.fields().iter().map(|x| x.ty.clean(cx)).collect()) - } + hir::VariantData::Tuple(..) => Variant::Struct(self.clean(cx)), hir::VariantData::Unit(..) => Variant::CLike, } } diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 8f7e8442895..ea1cc8eb2ad 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -1037,8 +1037,9 @@ fn item_enum(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, e: &clean::Enum write!(w, "<div class=\"sub-variant\" id=\"{id}\">", id = variant_id); write!( w, - "<h3>Fields of <b>{name}</b></h3><div>", - name = variant.name.as_ref().unwrap() + "<h3>{extra}Fields of <b>{name}</b></h3><div>", + extra = if s.struct_type == CtorKind::Fn { "Tuple " } else { "" }, + name = variant.name.as_ref().unwrap(), ); for field in &s.fields { use crate::clean::StructFieldItem; @@ -1509,7 +1510,10 @@ fn render_struct( if let Some(g) = g { write!(w, "{}", print_where_clause(g, cx, 0, false),) } - w.write_str(";"); + // We only want a ";" when we are displaying a tuple struct, not a variant tuple struct. + if structhead { + w.write_str(";"); + } } CtorKind::Const => { // Needed for PhantomData. |
