@@ -2243,26 +2243,24 @@ fn item_struct(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2243
2243
write ! ( w, "</pre>" ) ?;
2244
2244
2245
2245
document ( w, cx, it) ?;
2246
- let mut fields = s. fields . iter ( ) . filter ( |f| {
2246
+ let mut fields = s. fields . iter ( ) . filter_map ( |f| {
2247
2247
match f. inner {
2248
- clean:: StructFieldItem ( .. ) => true ,
2249
- _ => false ,
2248
+ clean:: StructFieldItem ( ref ty ) => Some ( ( f , ty ) ) ,
2249
+ _ => None ,
2250
2250
}
2251
2251
} ) . peekable ( ) ;
2252
2252
if let doctree:: Plain = s. struct_type {
2253
2253
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>" ,
2259
2258
shortty = ItemType :: StructField ,
2260
2259
stab = field. stability_class( ) ,
2261
- name = field. name. as_ref( ) . unwrap( ) ) ?;
2260
+ name = field. name. as_ref( ) . unwrap( ) ,
2261
+ ty = ty) ?;
2262
2262
document ( w, cx, field) ?;
2263
- write ! ( w, "</td></tr>" ) ?;
2264
2263
}
2265
- write ! ( w, "</table>" ) ?;
2266
2264
}
2267
2265
}
2268
2266
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,
2292
2290
write ! ( w, "{}(" , name) ?;
2293
2291
for ( i, ty) in tys. iter ( ) . enumerate ( ) {
2294
2292
if i > 0 {
2295
- write ! ( w, ", " ) ?
2293
+ write ! ( w, ", " ) ?
2296
2294
}
2297
2295
write ! ( w, "{}" , * ty) ?;
2298
2296
}
@@ -2324,40 +2322,47 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2324
2322
2325
2323
document ( w, cx, it) ?;
2326
2324
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 " ) ?;
2328
2326
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}" ,
2330
2328
shortty = ItemType :: Variant ,
2331
2329
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>" ) ?;
2332
2343
document ( w, cx, variant) ?;
2333
2344
2334
2345
use clean:: { Variant , StructVariant } ;
2335
2346
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
- } ) ;
2342
2347
write ! ( w, "<h3 class='fields'>Fields</h3>\n
2343
2348
<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
+ }
2353
2361
}
2354
2362
write ! ( w, "</table>" ) ?;
2355
2363
}
2356
- write ! ( w, "</td><td>" ) ?;
2357
2364
render_stability_since ( w, variant, it) ?;
2358
- write ! ( w, "</td></tr>" ) ?;
2359
2365
}
2360
- write ! ( w, "</table>" ) ?;
2361
2366
}
2362
2367
render_assoc_items ( w, cx, it, it. def_id , AssocItemRender :: All ) ?;
2363
2368
Ok ( ( ) )
0 commit comments