@@ -2036,14 +2036,18 @@ fn item_trait(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2036
2036
fn trait_item ( w : & mut fmt:: Formatter , cx : & Context , m : & clean:: Item , t : & clean:: Item )
2037
2037
-> fmt:: Result {
2038
2038
let name = m. name . as_ref ( ) . unwrap ( ) ;
2039
- let id = derive_id ( format ! ( "{}.{}" , item_type( m) , name) ) ;
2040
- write ! ( w, "<h3 id='{id}' class='method stab {stab}'><code>" ,
2039
+ let item_type = item_type ( m) ;
2040
+ let id = derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
2041
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2042
+ write ! ( w, "<h3 id='{id}' class='method stab {stab}'>\
2043
+ <span id='{ns_id}' class='invisible'><code>",
2041
2044
id = id,
2042
- stab = m. stability_class( ) ) ?;
2045
+ stab = m. stability_class( ) ,
2046
+ ns_id = ns_id) ?;
2043
2047
render_assoc_item ( w, m, AssocItemLink :: Anchor ( Some ( & id) ) ) ?;
2044
2048
write ! ( w, "</code>" ) ?;
2045
2049
render_stability_since ( w, m, t) ?;
2046
- write ! ( w, "</h3>" ) ?;
2050
+ write ! ( w, "</span></ h3>" ) ?;
2047
2051
document ( w, cx, m) ?;
2048
2052
Ok ( ( ) )
2049
2053
}
@@ -2283,9 +2287,9 @@ fn item_struct(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2283
2287
write ! ( w, "<h2 class='fields'>Fields</h2>" ) ?;
2284
2288
for ( field, ty) in fields {
2285
2289
write ! ( w, "<span id='{item_type}.{name}' class='{item_type}'>
2286
- <a id='{name}.{name_space}'>
2290
+ <span id='{name}.{name_space}' class='invisible '>
2287
2291
<code>{name}: {ty}</code>
2288
- </a ></span><span class='stab {stab}'></span>" ,
2292
+ </span ></span><span class='stab {stab}'></span>" ,
2289
2293
item_type = ItemType :: StructField ,
2290
2294
name_space = ItemType :: StructField . name_space( ) ,
2291
2295
stab = field. stability_class( ) ,
@@ -2357,7 +2361,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2357
2361
write ! ( w, "<h2 class='variants'>Variants</h2>\n " ) ?;
2358
2362
for variant in & e. variants {
2359
2363
write ! ( w, "<span id='{item_type}.{name}' class='variant'>\
2360
- <a id='{name}.{name_space}'><code>{name}",
2364
+ <span id='{name}.{name_space}' class='invisible '><code>{name}",
2361
2365
item_type = ItemType :: Variant ,
2362
2366
name_space = ItemType :: Variant . name_space( ) ,
2363
2367
name = variant. name. as_ref( ) . unwrap( ) ) ?;
@@ -2373,7 +2377,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2373
2377
write ! ( w, ")" ) ?;
2374
2378
}
2375
2379
}
2376
- write ! ( w, "</code></a ></span>" ) ?;
2380
+ write ! ( w, "</code></span ></span>" ) ?;
2377
2381
document ( w, cx, variant) ?;
2378
2382
2379
2383
use clean:: { Variant , StructVariant } ;
@@ -2385,8 +2389,8 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
2385
2389
if let StructFieldItem ( ref ty) = field. inner {
2386
2390
write ! ( w, "<tr><td \
2387
2391
id='variant.{v}.field.{f}'>\
2388
- <a id='{v}.{vns}.{f}.{fns}'>\
2389
- <code>{f}: {t}</code></a ></td><td>",
2392
+ <span id='{v}.{vns}.{f}.{fns}' class='invisible '>\
2393
+ <code>{f}: {t}</code></span ></td><td>",
2390
2394
v = variant. name. as_ref( ) . unwrap( ) ,
2391
2395
f = field. name. as_ref( ) . unwrap( ) ,
2392
2396
vns = ItemType :: Variant . name_space( ) ,
@@ -2606,10 +2610,10 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
2606
2610
}
2607
2611
}
2608
2612
2609
- fn doctraititem ( w : & mut fmt:: Formatter , cx : & Context , item : & clean:: Item ,
2610
- link : AssocItemLink , render_static : bool ,
2611
- is_default_item : bool , outer_version : Option < & str > ,
2612
- trait_ : Option < & clean:: Trait > ) -> fmt:: Result {
2613
+ fn doc_impl_item ( w : & mut fmt:: Formatter , cx : & Context , item : & clean:: Item ,
2614
+ link : AssocItemLink , render_static : bool ,
2615
+ is_default_item : bool , outer_version : Option < & str > ,
2616
+ trait_ : Option < & clean:: Trait > ) -> fmt:: Result {
2613
2617
let item_type = item_type ( item) ;
2614
2618
let name = item. name . as_ref ( ) . unwrap ( ) ;
2615
2619
@@ -2624,42 +2628,47 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
2624
2628
// Only render when the method is not static or we allow static methods
2625
2629
if !is_static || render_static {
2626
2630
let id = derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
2631
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2627
2632
write ! ( w, "<h4 id='{}' class='{}'>" , id, item_type) ?;
2628
- write ! ( w, "<a id='{}.{}' >" , name , item_type . name_space ( ) ) ?;
2633
+ write ! ( w, "<span id='{}' class='invisible' >" , ns_id ) ?;
2629
2634
write ! ( w, "<code>" ) ?;
2630
2635
render_assoc_item ( w, item, link. anchor ( & id) ) ?;
2631
2636
write ! ( w, "</code>" ) ?;
2632
2637
render_stability_since_raw ( w, item. stable_since ( ) , outer_version) ?;
2633
- write ! ( w, "</a ></h4>\n " ) ?;
2638
+ write ! ( w, "</span ></h4>\n " ) ?;
2634
2639
}
2635
2640
}
2636
2641
clean:: TypedefItem ( ref tydef, _) => {
2637
2642
let id = derive_id ( format ! ( "{}.{}" , ItemType :: AssociatedType , name) ) ;
2643
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2638
2644
write ! ( w, "<h4 id='{}' class='{}'>" , id, item_type) ?;
2639
- write ! ( w, "<a id='{}.{}' ><code>" , name , item_type . name_space ( ) ) ?;
2645
+ write ! ( w, "<span id='{}' class='invisible' ><code>" , ns_id ) ?;
2640
2646
assoc_type ( w, item, & Vec :: new ( ) , Some ( & tydef. type_ ) , link. anchor ( & id) ) ?;
2641
- write ! ( w, "</code></a ></h4>\n " ) ?;
2647
+ write ! ( w, "</code></span ></h4>\n " ) ?;
2642
2648
}
2643
2649
clean:: AssociatedConstItem ( ref ty, ref default) => {
2644
2650
let id = derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
2651
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2645
2652
write ! ( w, "<h4 id='{}' class='{}'>" , id, item_type) ?;
2646
- write ! ( w, "<a id='{}.{}' ><code>" , name , item_type . name_space ( ) ) ?;
2653
+ write ! ( w, "<span id='{}' class='invisible' ><code>" , ns_id ) ?;
2647
2654
assoc_const ( w, item, ty, default. as_ref ( ) , link. anchor ( & id) ) ?;
2648
- write ! ( w, "</code></a ></h4>\n " ) ?;
2655
+ write ! ( w, "</code></span ></h4>\n " ) ?;
2649
2656
}
2650
2657
clean:: ConstantItem ( ref c) => {
2651
2658
let id = derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
2659
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2652
2660
write ! ( w, "<h4 id='{}' class='{}'>" , id, item_type) ?;
2653
- write ! ( w, "<a id='{}.{}' ><code>" , name , item_type . name_space ( ) ) ?;
2661
+ write ! ( w, "<span id='{}' class='invisible' ><code>" , ns_id ) ?;
2654
2662
assoc_const ( w, item, & c. type_ , Some ( & c. expr ) , link. anchor ( & id) ) ?;
2655
- write ! ( w, "</code></a ></h4>\n " ) ?;
2663
+ write ! ( w, "</code></span ></h4>\n " ) ?;
2656
2664
}
2657
2665
clean:: AssociatedTypeItem ( ref bounds, ref default) => {
2658
2666
let id = derive_id ( format ! ( "{}.{}" , item_type, name) ) ;
2667
+ let ns_id = derive_id ( format ! ( "{}.{}" , name, item_type. name_space( ) ) ) ;
2659
2668
write ! ( w, "<h4 id='{}' class='{}'>" , id, item_type) ?;
2660
- write ! ( w, "<a id='{}.{}' ><code>" , name , item_type . name_space ( ) ) ?;
2669
+ write ! ( w, "<span id='{}' class='invisible' ><code>" , ns_id ) ?;
2661
2670
assoc_type ( w, item, bounds, default. as_ref ( ) , link. anchor ( & id) ) ?;
2662
- write ! ( w, "</code></a ></h4>\n " ) ?;
2671
+ write ! ( w, "</code></span ></h4>\n " ) ?;
2663
2672
}
2664
2673
clean:: StrippedItem ( ..) => return Ok ( ( ) ) ,
2665
2674
_ => panic ! ( "can't make docs for trait item with name {:?}" , item. name)
@@ -2698,8 +2707,8 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
2698
2707
2699
2708
write ! ( w, "<div class='impl-items'>" ) ?;
2700
2709
for trait_item in & i. inner_impl ( ) . items {
2701
- doctraititem ( w, cx, trait_item, link, render_header,
2702
- false , outer_version, trait_) ?;
2710
+ doc_impl_item ( w, cx, trait_item, link, render_header,
2711
+ false , outer_version, trait_) ?;
2703
2712
}
2704
2713
2705
2714
fn render_default_items ( w : & mut fmt:: Formatter ,
@@ -2716,8 +2725,8 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
2716
2725
let did = i. trait_ . as_ref ( ) . unwrap ( ) . def_id ( ) . unwrap ( ) ;
2717
2726
let assoc_link = AssocItemLink :: GotoSource ( did, & i. provided_trait_methods ) ;
2718
2727
2719
- doctraititem ( w, cx, trait_item, assoc_link, render_static, true ,
2720
- outer_version, None ) ?;
2728
+ doc_impl_item ( w, cx, trait_item, assoc_link, render_static, true ,
2729
+ outer_version, None ) ?;
2721
2730
}
2722
2731
Ok ( ( ) )
2723
2732
}
0 commit comments