Skip to content

Commit 49fa9fb

Browse files
committed
---
yaml --- r: 106281 b: refs/heads/auto c: 1f937fa h: refs/heads/master i: 106279: a46635d v: v3
1 parent 8a79008 commit 49fa9fb

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
@@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1313
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1414
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1515
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16-
refs/heads/auto: e88387a94709b3bf86c4abf39477be9ffa26c7e8
16+
refs/heads/auto: 1f937fa79e6f6a4d010b9d22b1370214c952fbfa
1717
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1818
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1919
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/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/auto/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)