@@ -2243,26 +2243,24 @@ fn item_struct(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
22432243 write ! ( w, "</pre>" ) ?;
22442244
22452245 document ( w, cx, it) ?;
2246- let mut fields = s. fields . iter ( ) . filter ( |f| {
2246+ let mut fields = s. fields . iter ( ) . filter_map ( |f| {
22472247 match f. inner {
2248- clean:: StructFieldItem ( .. ) => true ,
2249- _ => false ,
2248+ clean:: StructFieldItem ( ref ty ) => Some ( ( f , ty ) ) ,
2249+ _ => None ,
22502250 }
22512251 } ) . peekable ( ) ;
22522252 if let doctree:: Plain = s. struct_type {
22532253 if fields. peek ( ) . is_some ( ) {
2254- write ! ( w, "<h2 class='fields'>Fields</h2>\n <table>" ) ?;
2255- for field in fields {
2256- write ! ( w, "<tr class='stab {stab}'>
2257- <td id='{shortty}.{name}'>\
2258- <code>{name}</code></td><td>",
2254+ write ! ( w, "<h2 class='fields'>Fields</h2>" ) ?;
2255+ for ( field, ty) in fields {
2256+ write ! ( w, "<span id='{shortty}.{name}'><code>{name}: {ty}</code></span>
2257+ <span class='stab {stab}'></span>" ,
22592258 shortty = ItemType :: StructField ,
22602259 stab = field. stability_class( ) ,
2261- name = field. name. as_ref( ) . unwrap( ) ) ?;
2260+ name = field. name. as_ref( ) . unwrap( ) ,
2261+ ty = ty) ?;
22622262 document ( w, cx, field) ?;
2263- write ! ( w, "</td></tr>" ) ?;
22642263 }
2265- write ! ( w, "</table>" ) ?;
22662264 }
22672265 }
22682266 render_assoc_items ( w, cx, it, it. def_id , AssocItemRender :: All )
@@ -2292,7 +2290,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
22922290 write ! ( w, "{}(" , name) ?;
22932291 for ( i, ty) in tys. iter ( ) . enumerate ( ) {
22942292 if i > 0 {
2295- write ! ( w, ", " ) ?
2293+ write ! ( w, ", " ) ?
22962294 }
22972295 write ! ( w, "{}" , * ty) ?;
22982296 }
@@ -2324,40 +2322,47 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
23242322
23252323 document ( w, cx, it) ?;
23262324 if !e. variants . is_empty ( ) {
2327- write ! ( w, "<h2 class='variants'>Variants</h2>\n <table class='variants_table'> " ) ?;
2325+ write ! ( w, "<h2 class='variants'>Variants</h2>\n " ) ?;
23282326 for variant in & e. variants {
2329- write ! ( w, "<tr><td id='{shortty}.{name}'><code>{name}</code></td><td> " ,
2327+ write ! ( w, "<span id='{shortty}.{name}' class='variant' ><code>{name}" ,
23302328 shortty = ItemType :: Variant ,
23312329 name = variant. name. as_ref( ) . unwrap( ) ) ?;
2330+ if let clean:: VariantItem ( ref var) = variant. inner {
2331+ if let clean:: TupleVariant ( ref tys) = var. kind {
2332+ write ! ( w, "(" ) ?;
2333+ for ( i, ty) in tys. iter ( ) . enumerate ( ) {
2334+ if i > 0 {
2335+ write ! ( w, ", " ) ?;
2336+ }
2337+ write ! ( w, "{}" , * ty) ?;
2338+ }
2339+ write ! ( w, ")" ) ?;
2340+ }
2341+ }
2342+ write ! ( w, "</code></span>" ) ?;
23322343 document ( w, cx, variant) ?;
23332344
23342345 use clean:: { Variant , StructVariant } ;
23352346 if let clean:: VariantItem ( Variant { kind : StructVariant ( ref s) } ) = variant. inner {
2336- let fields = s. fields . iter ( ) . filter ( |f| {
2337- match f. inner {
2338- clean:: StructFieldItem ( ..) => true ,
2339- _ => false ,
2340- }
2341- } ) ;
23422347 write ! ( w, "<h3 class='fields'>Fields</h3>\n
23432348 <table>" ) ?;
2344- for field in fields {
2345- write ! ( w, "<tr><td \
2346- id='{shortty}.{v}.field.{f}'>\
2347- <code>{f}</code></td><td>",
2348- shortty = ItemType :: Variant ,
2349- v = variant. name. as_ref( ) . unwrap( ) ,
2350- f = field. name. as_ref( ) . unwrap( ) ) ?;
2351- document ( w, cx, field) ?;
2352- write ! ( w, "</td></tr>" ) ?;
2349+ for field in & s. fields {
2350+ use clean:: StructFieldItem ;
2351+ if let StructFieldItem ( ref ty) = field. inner {
2352+ write ! ( w, "<tr><td \
2353+ id='variant.{v}.field.{f}'>\
2354+ <code>{f}: {t}</code></td><td>",
2355+ v = variant. name. as_ref( ) . unwrap( ) ,
2356+ f = field. name. as_ref( ) . unwrap( ) ,
2357+ t = * ty) ?;
2358+ document ( w, cx, field) ?;
2359+ write ! ( w, "</td></tr>" ) ?;
2360+ }
23532361 }
23542362 write ! ( w, "</table>" ) ?;
23552363 }
2356- write ! ( w, "</td><td>" ) ?;
23572364 render_stability_since ( w, variant, it) ?;
2358- write ! ( w, "</td></tr>" ) ?;
23592365 }
2360- write ! ( w, "</table>" ) ?;
23612366 }
23622367 render_assoc_items ( w, cx, it, it. def_id , AssocItemRender :: All ) ?;
23632368 Ok ( ( ) )
0 commit comments