File tree Expand file tree Collapse file tree 3 files changed +31
-4
lines changed
branches/snap-stage3/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 1
1
---
2
2
refs/heads/master: 62f1d68439dcfd509eaca29887afa97f22938373
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
- refs/heads/snap-stage3: e88387a94709b3bf86c4abf39477be9ffa26c7e8
4
+ refs/heads/snap-stage3: 1f937fa79e6f6a4d010b9d22b1370214c952fbfa
5
5
refs/heads/try: db814977d07bd798feb24f6b74c00800ef458a13
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
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