@@ -521,6 +521,14 @@ impl Context {
521
521
}
522
522
}
523
523
}
524
+ clean:: StructItem ( s) => {
525
+ let mut it = s. fields . move_iter ( ) ;
526
+ do self. recurse ( name) |this| {
527
+ for item in it {
528
+ f ( this, item) ;
529
+ }
530
+ }
531
+ }
524
532
_ => { }
525
533
}
526
534
}
@@ -590,6 +598,8 @@ impl<'self> fmt::Default for Item<'self> {
590
598
clean:: EnumItem ( ref e) => item_enum ( fmt. buf , it. item , e) ,
591
599
clean:: TypedefItem ( ref t) => item_typedef ( fmt. buf , it. item , t) ,
592
600
clean:: VariantItem ( * ) => item_variant ( fmt. buf , it. cx , it. item ) ,
601
+ clean:: StructFieldItem ( * ) => item_struct_field ( fmt. buf , it. cx ,
602
+ it. item ) ,
593
603
_ => { }
594
604
}
595
605
}
@@ -980,11 +990,12 @@ fn render_struct(w: &mut io::Writer, it: &clean::Item,
980
990
for field in fields. iter ( ) {
981
991
match field. inner {
982
992
clean:: StructFieldItem ( ref ty) => {
983
- write ! ( w, " {}{}: {},\n {}" ,
993
+ write ! ( w, " {}<a name='field.{name}'>{name}</a>: \
994
+ {},\n {}",
984
995
VisSpace ( field. visibility) ,
985
- field. name. get_ref( ) . as_slice( ) ,
986
996
ty. type_,
987
- tab) ;
997
+ tab,
998
+ name = field. name. get_ref( ) . as_slice( ) ) ;
988
999
}
989
1000
_ => unreachable ! ( )
990
1001
}
@@ -1170,3 +1181,12 @@ fn item_variant(w: &mut io::Writer, cx: &Context, it: &clean::Item) {
1170
1181
* cx. current. last( ) ,
1171
1182
it. name. get_ref( ) . as_slice( ) ) ;
1172
1183
}
1184
+
1185
+ fn item_struct_field ( w : & mut io:: Writer , cx : & Context , it : & clean:: Item ) {
1186
+ write ! ( w, "<DOCTYPE html><html><head>\
1187
+ <meta http-equiv='refresh' content='0; \
1188
+ url=../struct.{}.html\\ #field.{}'>\
1189
+ </head><body></body></html>",
1190
+ * cx. current. last( ) ,
1191
+ it. name. get_ref( ) . as_slice( ) ) ;
1192
+ }
0 commit comments