@@ -1818,7 +1818,7 @@ fn item_module(w: &mut fmt::Formatter, cx: &Context,
18181818 write ! ( w, "
18191819 <tr class='{stab} module-item'>
18201820 <td><a class='{class}' href='{href}'
1821- title='{title}'>{name}</a>{unsafety_flag}</td>
1821+ title='{title_type} { title}'>{name}</a>{unsafety_flag}</td>
18221822 <td class='docblock-short'>
18231823 {stab_docs} {docs}
18241824 </td>
@@ -1827,9 +1827,10 @@ fn item_module(w: &mut fmt::Formatter, cx: &Context,
18271827 stab_docs = stab_docs,
18281828 docs = shorter( Some ( & Markdown ( doc_value) . to_string( ) ) ) ,
18291829 class = myitem. type_( ) ,
1830- stab = myitem. stability_class( ) ,
1830+ stab = myitem. stability_class( ) . unwrap_or ( "" . to_string ( ) ) ,
18311831 unsafety_flag = unsafety_flag,
18321832 href = item_path( myitem. type_( ) , myitem. name. as_ref( ) . unwrap( ) ) ,
1833+ title_type = myitem. type_( ) ,
18331834 title = full_path( cx, myitem) ) ?;
18341835 }
18351836 }
@@ -1936,7 +1937,9 @@ impl<'a> fmt::Display for Initializer<'a> {
19361937
19371938fn item_constant ( w : & mut fmt:: Formatter , cx : & Context , it : & clean:: Item ,
19381939 c : & clean:: Constant ) -> fmt:: Result {
1939- write ! ( w, "<pre class='rust const'>{vis}const \
1940+ write ! ( w, "<pre class='rust const'>" ) ?;
1941+ render_attributes ( w, it) ?;
1942+ write ! ( w, "{vis}const \
19401943 {name}: {typ}{init}</pre>",
19411944 vis = VisSpace ( & it. visibility) ,
19421945 name = it. name. as_ref( ) . unwrap( ) ,
@@ -1947,7 +1950,9 @@ fn item_constant(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
19471950
19481951fn item_static ( w : & mut fmt:: Formatter , cx : & Context , it : & clean:: Item ,
19491952 s : & clean:: Static ) -> fmt:: Result {
1950- write ! ( w, "<pre class='rust static'>{vis}static {mutability}\
1953+ write ! ( w, "<pre class='rust static'>" ) ?;
1954+ render_attributes ( w, it) ?;
1955+ write ! ( w, "{vis}static {mutability}\
19511956 {name}: {typ}{init}</pre>",
19521957 vis = VisSpace ( & it. visibility) ,
19531958 mutability = MutableSpace ( s. mutability) ,
@@ -1971,7 +1976,9 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
19711976 AbiSpace ( f. abi) ,
19721977 it. name. as_ref( ) . unwrap( ) ,
19731978 f. generics) . len ( ) ;
1974- write ! ( w, "<pre class='rust fn'>{vis}{constness}{unsafety}{abi}fn \
1979+ write ! ( w, "<pre class='rust fn'>" ) ?;
1980+ render_attributes ( w, it) ?;
1981+ write ! ( w, "{vis}{constness}{unsafety}{abi}fn \
19751982 {name}{generics}{decl}{where_clause}</pre>",
19761983 vis = VisSpace ( & it. visibility) ,
19771984 constness = ConstnessSpace ( vis_constness) ,
@@ -2006,7 +2013,9 @@ fn item_trait(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
20062013 }
20072014
20082015 // Output the trait definition
2009- write ! ( w, "<pre class='rust trait'>{}{}trait {}{}{}{} " ,
2016+ write ! ( w, "<pre class='rust trait'>" ) ?;
2017+ render_attributes ( w, it) ?;
2018+ write ! ( w, "{}{}trait {}{}{}{} " ,
20102019 VisSpace ( & it. visibility) ,
20112020 UnsafetySpace ( t. unsafety) ,
20122021 it. name. as_ref( ) . unwrap( ) ,
@@ -2369,13 +2378,16 @@ fn item_struct(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
23692378 write ! ( w, "<span id='{id}' class='{item_type}'>
23702379 <span id='{ns_id}' class='invisible'>
23712380 <code>{name}: {ty}</code>
2372- </span></span><span class='stab {stab}'></span> " ,
2381+ </span></span>" ,
23732382 item_type = ItemType :: StructField ,
23742383 id = id,
23752384 ns_id = ns_id,
2376- stab = field. stability_class( ) ,
23772385 name = field. name. as_ref( ) . unwrap( ) ,
23782386 ty = ty) ?;
2387+ if let Some ( stability_class) = field. stability_class ( ) {
2388+ write ! ( w, "<span class='stab {stab}'></span>" ,
2389+ stab = stability_class) ?;
2390+ }
23792391 document ( w, cx, field) ?;
23802392 }
23812393 }
@@ -2406,11 +2418,14 @@ fn item_union(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
24062418 write ! ( w, "<h2 class='fields'>Fields</h2>" ) ?;
24072419 for ( field, ty) in fields {
24082420 write ! ( w, "<span id='{shortty}.{name}' class='{shortty}'><code>{name}: {ty}</code>
2409- </span><span class='stab {stab}'></span> " ,
2421+ </span>" ,
24102422 shortty = ItemType :: StructField ,
2411- stab = field. stability_class( ) ,
24122423 name = field. name. as_ref( ) . unwrap( ) ,
24132424 ty = ty) ?;
2425+ if let Some ( stability_class) = field. stability_class ( ) {
2426+ write ! ( w, "<span class='stab {stab}'></span>" ,
2427+ stab = stability_class) ?;
2428+ }
24142429 document ( w, cx, field) ?;
24152430 }
24162431 }
@@ -3001,7 +3016,9 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
30013016fn item_typedef ( w : & mut fmt:: Formatter , cx : & Context , it : & clean:: Item ,
30023017 t : & clean:: Typedef ) -> fmt:: Result {
30033018 let indent = format ! ( "type {}{:#} " , it. name. as_ref( ) . unwrap( ) , t. generics) . len ( ) ;
3004- write ! ( w, "<pre class='rust typedef'>type {}{}{where_clause} = {type_};</pre>" ,
3019+ write ! ( w, "<pre class='rust typedef'>" ) ?;
3020+ render_attributes ( w, it) ?;
3021+ write ! ( w, "type {}{}{where_clause} = {type_};</pre>" ,
30053022 it. name. as_ref( ) . unwrap( ) ,
30063023 t. generics,
30073024 where_clause = WhereClause ( & t. generics, indent) ,
0 commit comments