From c8d58a306e9cc9afcc125a0b00fe110033bb7a49 Mon Sep 17 00:00:00 2001 From: Jouan Amate Date: Fri, 18 Aug 2017 09:38:52 -0700 Subject: [PATCH 1/2] Add links for impls Implements a solution for issue #23552 --- src/librustdoc/html/render.rs | 8 +++++++- src/librustdoc/html/static/rustdoc.css | 4 ++++ src/librustdoc/html/static/styles/main.css | 3 --- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 4e3181759f999..41700cbaae1ef 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -2925,7 +2925,13 @@ fn render_deref_methods(w: &mut fmt::Formatter, cx: &Context, impl_: &Impl, fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLink, render_mode: RenderMode, outer_version: Option<&str>) -> fmt::Result { if render_mode == RenderMode::Normal { - write!(w, "

{}", i.inner_impl())?; + let id = derive_id(match i.inner_impl().trait_ { + Some(ref t) => format!("impl-{}", Escape(&format!("{:#}", t))), + None => "impl".to_string(), + }); + write!(w, "

{}", + id, i.inner_impl())?; + write!(w, "", id)?; write!(w, "")?; let since = i.impl_item.stability.as_ref().map(|s| &s.since[..]); if let Some(l) = (Item { item: &i.impl_item, cx: cx }).src_href() { diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index ee94f0baeb9a3..c3ac01bbe0c88 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -441,6 +441,10 @@ a { .small-section-header:hover > .anchor { display: initial; } + +.in-band:hover > .anchor { + display: initial; +} .anchor { display: none; } diff --git a/src/librustdoc/html/static/styles/main.css b/src/librustdoc/html/static/styles/main.css index 08bf5a10fe9d9..9c88c12086e1f 100644 --- a/src/librustdoc/html/static/styles/main.css +++ b/src/librustdoc/html/static/styles/main.css @@ -26,9 +26,6 @@ h1.fqn { h2, h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.type):not(.tymethod) { border-bottom-color: #DDDDDD; } -.in-band { - background-color: white; -} .docblock code, .docblock-short code { background-color: #F5F5F5; From 4729f22f8b3cc9faaf147909c6fbec3f9e434d4c Mon Sep 17 00:00:00 2001 From: Jouan Amate Date: Tue, 22 Aug 2017 09:24:18 -0700 Subject: [PATCH 2/2] Fixed changes to .in-band CSS :target will specifically override .in-band background --- src/librustdoc/html/static/styles/main.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/librustdoc/html/static/styles/main.css b/src/librustdoc/html/static/styles/main.css index 9c88c12086e1f..c5f4272b932fc 100644 --- a/src/librustdoc/html/static/styles/main.css +++ b/src/librustdoc/html/static/styles/main.css @@ -27,6 +27,10 @@ h2, h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.t border-bottom-color: #DDDDDD; } +.in-band { + background-color: white; +} + .docblock code, .docblock-short code { background-color: #F5F5F5; } @@ -80,6 +84,11 @@ pre { } :target { background: #FDFFD3; } + +:target > .in-band { + background: #FDFFD3; +} + .content .highlighted { color: #000 !important; background-color: #ccc;