File tree Expand file tree Collapse file tree 3 files changed +31
-4
lines changed
branches/dist-snap/src/librustdoc Expand file tree Collapse file tree 3 files changed +31
-4
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ refs/heads/try: f64fdf524a434f0e5cd0bc91d09c144723f3c90d
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9
- refs/heads/dist-snap: e88387a94709b3bf86c4abf39477be9ffa26c7e8
9
+ refs/heads/dist-snap: 1f937fa79e6f6a4d010b9d22b1370214c952fbfa
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
12
12
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
Original file line number Diff line number Diff line change @@ -1020,11 +1020,23 @@ pub struct Impl {
1020
1020
generics : Generics ,
1021
1021
trait_ : Option < Type > ,
1022
1022
for_ : Type ,
1023
- methods : Vec < Item > ,
1023
+ methods : Vec < Item > ,
1024
+ derived : bool ,
1024
1025
}
1025
1026
1026
1027
impl Clean < Item > for doctree:: Impl {
1027
1028
fn clean ( & self ) -> Item {
1029
+ let mut derived = false ;
1030
+ for attr in self . attrs . iter ( ) {
1031
+ match attr. node . value . node {
1032
+ ast:: MetaWord ( ref s) => {
1033
+ if s. get ( ) == "automatically_derived" {
1034
+ derived = true ;
1035
+ }
1036
+ }
1037
+ _ => { }
1038
+ }
1039
+ }
1028
1040
Item {
1029
1041
name : None ,
1030
1042
attrs : self . attrs . clean ( ) ,
@@ -1036,6 +1048,7 @@ impl Clean<Item> for doctree::Impl {
1036
1048
trait_ : self . trait_ . clean ( ) ,
1037
1049
for_ : self . for_ . clean ( ) ,
1038
1050
methods : self . methods . clean ( ) ,
1051
+ derived : derived,
1039
1052
} ) ,
1040
1053
}
1041
1054
}
Original file line number Diff line number Diff line change @@ -1517,8 +1517,22 @@ fn render_methods(w: &mut Writer, it: &clean::Item) -> fmt::Result {
1517
1517
if traits. len ( ) > 0 {
1518
1518
try!( write ! ( w, "<h2 id='implementations'>Trait \
1519
1519
Implementations</h2>") ) ;
1520
- for & ( ref i, ref dox) in traits. move_iter ( ) {
1521
- try!( render_impl ( w, i, dox) ) ;
1520
+ let mut any_derived = false ;
1521
+ for & & ( ref i, ref dox) in traits. iter ( ) {
1522
+ if !i. derived {
1523
+ try!( render_impl ( w, i, dox) ) ;
1524
+ } else {
1525
+ any_derived = true ;
1526
+ }
1527
+ }
1528
+ if any_derived {
1529
+ try!( write ! ( w, "<h3 id='derived_implementations'>Derived Implementations \
1530
+ </h3>") ) ;
1531
+ for & ( ref i, ref dox) in traits. move_iter ( ) {
1532
+ if i. derived {
1533
+ try!( render_impl ( w, i, dox) ) ;
1534
+ }
1535
+ }
1522
1536
}
1523
1537
}
1524
1538
}
You can’t perform that action at this time.
0 commit comments