File tree Expand file tree Collapse file tree 3 files changed +31
-4
lines changed
branches/auto/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 @@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
13
13
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
14
14
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
15
15
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16
- refs/heads/auto: e88387a94709b3bf86c4abf39477be9ffa26c7e8
16
+ refs/heads/auto: 1f937fa79e6f6a4d010b9d22b1370214c952fbfa
17
17
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
18
18
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
19
19
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
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