Skip to content

Commit 2c1e172

Browse files
committed
---
yaml --- r: 105143 b: refs/heads/snap-stage3 c: 1f937fa h: refs/heads/master i: 105141: 15d117f 105139: 8b4e9b9 105135: 13c0a19 v: v3
1 parent 5bfe864 commit 2c1e172

File tree

3 files changed

+31
-4
lines changed

3 files changed

+31
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 62f1d68439dcfd509eaca29887afa97f22938373
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: e88387a94709b3bf86c4abf39477be9ffa26c7e8
4+
refs/heads/snap-stage3: 1f937fa79e6f6a4d010b9d22b1370214c952fbfa
55
refs/heads/try: db814977d07bd798feb24f6b74c00800ef458a13
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/librustdoc/clean.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1020,11 +1020,23 @@ pub struct Impl {
10201020
generics: Generics,
10211021
trait_: Option<Type>,
10221022
for_: Type,
1023-
methods: Vec<Item> ,
1023+
methods: Vec<Item>,
1024+
derived: bool,
10241025
}
10251026

10261027
impl Clean<Item> for doctree::Impl {
10271028
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+
}
10281040
Item {
10291041
name: None,
10301042
attrs: self.attrs.clean(),
@@ -1036,6 +1048,7 @@ impl Clean<Item> for doctree::Impl {
10361048
trait_: self.trait_.clean(),
10371049
for_: self.for_.clean(),
10381050
methods: self.methods.clean(),
1051+
derived: derived,
10391052
}),
10401053
}
10411054
}

branches/snap-stage3/src/librustdoc/html/render.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,8 +1517,22 @@ fn render_methods(w: &mut Writer, it: &clean::Item) -> fmt::Result {
15171517
if traits.len() > 0 {
15181518
try!(write!(w, "<h2 id='implementations'>Trait \
15191519
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+
}
15221536
}
15231537
}
15241538
}

0 commit comments

Comments
 (0)