From d505f70f6f16ea7dec1bba9a32a87216315e739d Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 30 Sep 2013 16:31:35 -0700 Subject: [PATCH] rustdoc: Stop ignoring dox on fields/variants This is progress towards #9611 --- src/librustdoc/html/render.rs | 45 ++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 20a3572942e..58527b37a82 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1081,6 +1081,20 @@ fn item_struct(w: &mut io::Writer, it: &clean::Item, s: &clean::Struct) { write!(w, ""); document(w, it); + match s.struct_type { + doctree::Plain => { + write!(w, "

Fields

\n"); + for field in s.fields.iter() { + write!(w, ""); + } + write!(w, "
\ + {name}", + name = field.name.get_ref().as_slice()); + document(w, field); + write!(w, "
"); + } + _ => {} + } render_methods(w, it); } @@ -1094,36 +1108,46 @@ fn item_enum(w: &mut io::Writer, it: &clean::Item, e: &clean::Enum) { } else { write!(w, " \\{\n"); for v in e.variants.iter() { - let name = format!("{0}", - v.name.get_ref().as_slice()); + write!(w, " "); + let name = v.name.get_ref().as_slice(); match v.inner { clean::VariantItem(ref var) => { match var.kind { - clean::CLikeVariant => write!(w, " {},\n", name), + clean::CLikeVariant => write!(w, "{}", name), clean::TupleVariant(ref tys) => { - write!(w, " {}(", name); + write!(w, "{}(", name); for (i, ty) in tys.iter().enumerate() { if i > 0 { write!(w, ", ") } write!(w, "{}", *ty); } - write!(w, "),\n"); + write!(w, ")"); } clean::StructVariant(ref s) => { - write!(w, " "); render_struct(w, v, None, s.struct_type, s.fields, " ", false); - write!(w, ",\n"); } } } _ => unreachable!() } + write!(w, ",\n"); } write!(w, "\\}"); } write!(w, ""); document(w, it); + if e.variants.len() > 0 { + write!(w, "

Variants

\n"); + for variant in e.variants.iter() { + write!(w, ""); + } + write!(w, "
{name}", + name = variant.name.get_ref().as_slice()); + document(w, variant); + write!(w, "
"); + + } render_methods(w, it); } @@ -1147,12 +1171,11 @@ fn render_struct(w: &mut io::Writer, it: &clean::Item, for field in fields.iter() { match field.inner { clean::StructFieldItem(ref ty) => { - write!(w, " {}{name}: \ - {},\n{}", + write!(w, " {}{}: {},\n{}", VisSpace(field.visibility), + field.name.get_ref().as_slice(), ty.type_, - tab, - name = field.name.get_ref().as_slice()); + tab); } _ => unreachable!() }