diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index 9b1d256304d..43cabc97119 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -2939,7 +2939,15 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
write!(w, "")?;
render_assoc_item(w, item, link.anchor(&id), ItemType::Impl)?;
write!(w, "
")?;
- render_stability_since_raw(w, item.stable_since(), outer_version)?;
+ if let Some(l) = (Item { cx, item }).src_href() {
+ write!(w, "")?;
+ write!(w, "")?;
+ render_stability_since_raw(w, item.stable_since(), outer_version)?;
+ write!(w, "[src]",
+ l, "goto source code")?;
+ } else {
+ render_stability_since_raw(w, item.stable_since(), outer_version)?;
+ }
write!(w, "\n")?;
}
}
diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css
index 9314f57359a..858ef3bf411 100644
--- a/src/librustdoc/html/static/rustdoc.css
+++ b/src/librustdoc/html/static/rustdoc.css
@@ -297,6 +297,10 @@ h3.impl > .out-of-band {
font-size: 21px;
}
+h4.method > .out-of-band {
+ font-size: 19px;
+}
+
h4 > code, h3 > code, .invisible > code {
position: inherit;
}