diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-03-10 19:00:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-10 19:00:08 +0100 |
| commit | 82215ce64680a6f0bf55a42eba6e7a8ff756c53f (patch) | |
| tree | cc9de5885d56279f3d1e19d81b0185775e3d5337 /src/librustdoc/html/render | |
| parent | f1a677789ae12780fcc49fb449be8b336528b080 (diff) | |
| parent | fbd9c284d7f018db07da8aa6e03cffdf0ce1786b (diff) | |
| download | rust-82215ce64680a6f0bf55a42eba6e7a8ff756c53f.tar.gz rust-82215ce64680a6f0bf55a42eba6e7a8ff756c53f.zip | |
Rollup merge of #94740 - GuillaumeGomez:unify-impl-blocks, r=notriddle
Unify impl blocks by wrapping them into a div The blanket and "auto traits" sections are wrapped into a `div` with an ID. This PR fixes this incoherence by wrapping each impl section (the "deref impl" and the "inherent impl" sections were missing it). It'll also make some tests simpler to write. r? `````@notriddle`````
Diffstat (limited to 'src/librustdoc/html/render')
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 558dbb3b396..26f29a3524b 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -1065,14 +1065,15 @@ fn render_assoc_items_inner( let (non_trait, traits): (Vec<_>, _) = v.iter().partition(|i| i.inner_impl().trait_.is_none()); if !non_trait.is_empty() { let mut tmp_buf = Buffer::empty_from(w); - let render_mode = match what { + let (render_mode, id) = match what { AssocItemRender::All => { tmp_buf.write_str( "<h2 id=\"implementations\" class=\"small-section-header\">\ - Implementations<a href=\"#implementations\" class=\"anchor\"></a>\ - </h2>", + Implementations\ + <a href=\"#implementations\" class=\"anchor\"></a>\ + </h2>", ); - RenderMode::Normal + (RenderMode::Normal, "implementations-list".to_owned()) } AssocItemRender::DerefFor { trait_, type_, deref_mut_ } => { let id = @@ -1090,7 +1091,7 @@ fn render_assoc_items_inner( trait_ = trait_.print(cx), type_ = type_.print(cx), ); - RenderMode::ForDeref { mut_: deref_mut_ } + (RenderMode::ForDeref { mut_: deref_mut_ }, cx.derive_id(id)) } }; let mut impls_buf = Buffer::empty_from(w); @@ -1115,7 +1116,9 @@ fn render_assoc_items_inner( } if !impls_buf.is_empty() { w.push_buffer(tmp_buf); + write!(w, "<div id=\"{}\">", id); w.push_buffer(impls_buf); + w.write_str("</div>"); } } @@ -1146,7 +1149,8 @@ fn render_assoc_items_inner( write!( w, "<h2 id=\"trait-implementations\" class=\"small-section-header\">\ - Trait Implementations<a href=\"#trait-implementations\" class=\"anchor\"></a>\ + Trait Implementations\ + <a href=\"#trait-implementations\" class=\"anchor\"></a>\ </h2>\ <div id=\"trait-implementations-list\">{}</div>", impls |
