@@ -3037,15 +3037,14 @@ fn item_trait(
3037
3037
let item_type = m. type_ ( ) ;
3038
3038
let id = cx. derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
3039
3039
let ns_id = cx. derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
3040
- write ! ( w, "{extra}<h3 id='{id}' class='method'>\
3041
- <span id='{ns_id}' class='invisible'><code>",
3040
+ write ! ( w, "{extra}<h3 id='{id}' class='method'><code id='{ns_id}'>" ,
3042
3041
extra = render_spotlight_traits( m) ?,
3043
3042
id = id,
3044
3043
ns_id = ns_id) ?;
3045
3044
render_assoc_item ( w, m, AssocItemLink :: Anchor ( Some ( & id) ) , ItemType :: Impl ) ?;
3046
3045
write ! ( w, "</code>" ) ?;
3047
3046
render_stability_since ( w, m, t) ?;
3048
- write ! ( w, "</span></ h3>" ) ?;
3047
+ write ! ( w, "</h3>" ) ?;
3049
3048
document ( w, cx, m) ?;
3050
3049
Ok ( ( ) )
3051
3050
}
@@ -3237,13 +3236,14 @@ fn assoc_type<W: fmt::Write>(w: &mut W, it: &clean::Item,
3237
3236
Ok ( ( ) )
3238
3237
}
3239
3238
3240
- fn render_stability_since_raw < ' a > ( w : & mut fmt:: Formatter ,
3241
- ver : Option < & ' a str > ,
3242
- containing_ver : Option < & ' a str > ) -> fmt:: Result {
3239
+ fn render_stability_since_raw < ' a , T : fmt:: Write > (
3240
+ w : & mut T ,
3241
+ ver : Option < & ' a str > ,
3242
+ containing_ver : Option < & ' a str > ,
3243
+ ) -> fmt:: Result {
3243
3244
if let Some ( v) = ver {
3244
3245
if containing_ver != ver && v. len ( ) > 0 {
3245
- write ! ( w, "<div class='since' title='Stable since Rust version {0}'>{0}</div>" ,
3246
- v) ?
3246
+ write ! ( w, "<div class='since' title='Stable since Rust version {0}'>{0}</div>" , v) ?
3247
3247
}
3248
3248
}
3249
3249
Ok ( ( ) )
@@ -3373,11 +3373,10 @@ fn item_struct(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
3373
3373
let ns_id = cx. derive_id ( format ! ( "{}.{}" ,
3374
3374
field. name. as_ref( ) . unwrap( ) ,
3375
3375
ItemType :: StructField . name_space( ) ) ) ;
3376
- write ! ( w, "<span id=\" {id}\" class=\" {item_type} small-section-header\" >
3377
- <a href=\" #{id}\" class=\" anchor field\" ></a>
3378
- <span id=\" {ns_id}\" class='invisible'>
3379
- <code>{name}: {ty}</code>
3380
- </span></span>" ,
3376
+ write ! ( w, "<span id=\" {id}\" class=\" {item_type} small-section-header\" >\
3377
+ <a href=\" #{id}\" class=\" anchor field\" ></a>\
3378
+ <code id=\" {ns_id}\" >{name}: {ty}</code>\
3379
+ </span>",
3381
3380
item_type = ItemType :: StructField ,
3382
3381
id = id,
3383
3382
ns_id = ns_id,
@@ -3509,7 +3508,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
3509
3508
ItemType :: Variant . name_space( ) ) ) ;
3510
3509
write ! ( w, "<span id=\" {id}\" class=\" variant small-section-header\" >\
3511
3510
<a href=\" #{id}\" class=\" anchor field\" ></a>\
3512
- <span id='{ns_id}' class='invisible'><code >{name}",
3511
+ <code id='{ns_id}'>{name}",
3513
3512
id = id,
3514
3513
ns_id = ns_id,
3515
3514
name = variant. name. as_ref( ) . unwrap( ) ) ?;
@@ -3525,7 +3524,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
3525
3524
write ! ( w, ")" ) ?;
3526
3525
}
3527
3526
}
3528
- write ! ( w, "</code></span></span> " ) ?;
3527
+ write ! ( w, "</code></span>" ) ?;
3529
3528
document ( w, cx, variant) ?;
3530
3529
3531
3530
use clean:: { Variant , VariantKind } ;
@@ -3552,8 +3551,8 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
3552
3551
ItemType :: StructField . name_space( ) ) ) ;
3553
3552
write ! ( w, "<span id=\" {id}\" class=\" variant small-section-header\" >\
3554
3553
<a href=\" #{id}\" class=\" anchor field\" ></a>\
3555
- <span id='{ns_id}' class='invisible'><code >{f}: {t}\
3556
- </code></span></span> ",
3554
+ <code id='{ns_id}'>{f}: {t}\
3555
+ </code></span>",
3557
3556
id = id,
3558
3557
ns_id = ns_id,
3559
3558
f = field. name. as_ref( ) . unwrap( ) ,
@@ -3998,7 +3997,7 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
3998
3997
id, i. inner_impl( ) ) ?;
3999
3998
}
4000
3999
write ! ( w, "<a href='#{}' class='anchor'></a>" , id) ?;
4001
- write ! ( w, "</span></ td><td><span class='out-of-band'>" ) ?;
4000
+ write ! ( w, "</td><td><span class='out-of-band'>" ) ?;
4002
4001
let since = i. impl_item . stability . as_ref ( ) . map ( |s| & s. since [ ..] ) ;
4003
4002
if let Some ( l) = ( Item { item : & i. impl_item , cx : cx } ) . src_href ( ) {
4004
4003
write ! ( w, "<div class='ghost'></div>" ) ?;
@@ -4008,7 +4007,7 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
4008
4007
} else {
4009
4008
render_stability_since_raw ( w, since, outer_version) ?;
4010
4009
}
4011
- write ! ( w, "</span></td></tr></tbody></table></h3>" ) ?;
4010
+ write ! ( w, "</span></td></tr></tbody></table></span></ h3>" ) ?;
4012
4011
if let Some ( ref dox) = cx. shared . maybe_collapsed_doc_value ( & i. impl_item ) {
4013
4012
let mut ids = cx. id_map . borrow_mut ( ) ;
4014
4013
write ! ( w, "<div class='docblock'>{}</div>" ,
@@ -4044,52 +4043,73 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
4044
4043
let ns_id = cx. derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
4045
4044
write ! ( w, "<h4 id='{}' class=\" {}{}\" >" , id, item_type, extra_class) ?;
4046
4045
write ! ( w, "{}" , spotlight_decl( decl) ?) ?;
4047
- write ! ( w, "<span id='{}' class='invisible'>" , ns_id) ?;
4048
- write ! ( w, "<table class='table-display'><tbody><tr><td><code>" ) ?;
4046
+ write ! ( w, "<table id='{}' class='table-display'><tbody><tr><td><code>" , ns_id) ?;
4049
4047
render_assoc_item ( w, item, link. anchor ( & id) , ItemType :: Impl ) ?;
4050
4048
write ! ( w, "</code>" ) ?;
4051
4049
if let Some ( l) = ( Item { cx, item } ) . src_href ( ) {
4052
- write ! ( w, "</span></ td><td><span class='out-of-band'>" ) ?;
4050
+ write ! ( w, "</td><td><span class='out-of-band'>" ) ?;
4053
4051
write ! ( w, "<div class='ghost'></div>" ) ?;
4054
4052
render_stability_since_raw ( w, item. stable_since ( ) , outer_version) ?;
4055
- write ! ( w, "<a class='srclink' href='{}' title='{}'>[src]</a>" ,
4053
+ write ! ( w, "<a class='srclink' href='{}' title='{}'>[src]</a></span> " ,
4056
4054
l, "goto source code" ) ?;
4057
4055
} else {
4058
4056
write ! ( w, "</td><td>" ) ?;
4059
4057
render_stability_since_raw ( w, item. stable_since ( ) , outer_version) ?;
4060
4058
}
4061
- write ! ( w, "</td></tr></tbody></table></span></ h4>" ) ?;
4059
+ write ! ( w, "</td></tr></tbody></table></h4>" ) ?;
4062
4060
}
4063
4061
}
4064
4062
clean:: TypedefItem ( ref tydef, _) => {
4065
4063
let id = cx. derive_id ( format ! ( "{}.{}" , ItemType :: AssociatedType , name) ) ;
4066
4064
let ns_id = cx. derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
4067
4065
write ! ( w, "<h4 id='{}' class=\" {}{}\" >" , id, item_type, extra_class) ?;
4068
- write ! ( w, "<span id='{}' class='invisible'><code >" , ns_id) ?;
4066
+ write ! ( w, "<code id='{}'>" , ns_id) ?;
4069
4067
assoc_type ( w, item, & Vec :: new ( ) , Some ( & tydef. type_ ) , link. anchor ( & id) ) ?;
4070
- write ! ( w, "</code></span></ h4>\n " ) ?;
4068
+ write ! ( w, "</code></h4>" ) ?;
4071
4069
}
4072
4070
clean:: AssociatedConstItem ( ref ty, ref default) => {
4071
+ let mut version = String :: new ( ) ;
4072
+
4073
+ render_stability_since_raw ( & mut version, item. stable_since ( ) , outer_version) ?;
4074
+
4073
4075
let id = cx. derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
4074
4076
let ns_id = cx. derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
4075
4077
write ! ( w, "<h4 id='{}' class=\" {}{}\" >" , id, item_type, extra_class) ?;
4076
- write ! ( w, "<span id='{}' class='invisible'><code>" , ns_id) ?;
4078
+ if !version. is_empty ( ) {
4079
+ write ! ( w, "<table id='{}' class='table-display'><tbody><tr><td><code>" , ns_id) ?;
4080
+ } else {
4081
+ write ! ( w, "<code id='{}'>" , ns_id) ?;
4082
+ }
4077
4083
assoc_const ( w, item, ty, default. as_ref ( ) , link. anchor ( & id) ) ?;
4084
+ if !version. is_empty ( ) {
4085
+ write ! ( w, "</code>" ) ?;
4086
+ }
4078
4087
let src = if let Some ( l) = ( Item { cx, item } ) . src_href ( ) {
4088
+ if !version. is_empty ( ) {
4089
+ write ! ( w, "</td><td><span class='out-of-band'>" ) ?;
4090
+ write ! ( w, "<div class='ghost'></div>{}" , version) ?;
4091
+ }
4079
4092
format ! ( "<a class='srclink' href='{}' title='{}'>[src]</a>" ,
4080
4093
l, "goto source code" )
4081
4094
} else {
4095
+ if !version. is_empty ( ) {
4096
+ write ! ( w, "</td><td>{}" , version) ?;
4097
+ }
4082
4098
String :: new ( )
4083
4099
} ;
4084
- write ! ( w, "</code>{}</span></h4>\n " , src) ?;
4100
+ if version. is_empty ( ) {
4101
+ write ! ( w, "</code>{}</h4>" , src) ?;
4102
+ } else {
4103
+ write ! ( w, "{}</span></td></tr></tbody></table></h4>" , src) ?;
4104
+ }
4085
4105
}
4086
4106
clean:: AssociatedTypeItem ( ref bounds, ref default) => {
4087
4107
let id = cx. derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
4088
4108
let ns_id = cx. derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
4089
4109
write ! ( w, "<h4 id='{}' class=\" {}{}\" >" , id, item_type, extra_class) ?;
4090
- write ! ( w, "<span id='{}' class='invisible'><code >" , ns_id) ?;
4110
+ write ! ( w, "<code id='{}'>" , ns_id) ?;
4091
4111
assoc_type ( w, item, bounds, default. as_ref ( ) , link. anchor ( & id) ) ?;
4092
- write ! ( w, "</code></span></ h4>\n " ) ?;
4112
+ write ! ( w, "</code></h4>" ) ?;
4093
4113
}
4094
4114
clean:: StrippedItem ( ..) => return Ok ( ( ) ) ,
4095
4115
_ => panic ! ( "can't make docs for trait item with name {:?}" , item. name)
0 commit comments