From 73a5c1f944b4da797fb494850ea3b3a0ee955856 Mon Sep 17 00:00:00 2001 From: Jacob Hoffman-Andrews Date: Thu, 13 May 2021 23:09:24 -0700 Subject: [PATCH] Toggle-wrap items differently than top-doc. This makes sure things like trait methods get wrapped at the `

` level rather than at the `.docblock` level. Also it ensures that only the actual top documentation gets the `.top-doc` class. --- src/librustdoc/html/render/mod.rs | 6 +++++- src/librustdoc/html/render/print_item.rs | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 5b54b32e4dde..6de4909e9533 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -509,7 +509,11 @@ fn document(w: &mut Buffer, cx: &Context<'_>, item: &clean::Item, parent: Option info!("Documenting {}", name); } document_item_info(w, cx, item, parent); - document_full_collapsible(w, item, cx); + if parent.is_none() { + document_full_collapsible(w, item, cx); + } else { + document_full(w, item, cx); + } } /// Render md_text as markdown. diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 20e82cf2caf3..67cb47d6fe66 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -578,12 +578,13 @@ fn item_trait(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::Tra info!("Documenting {} on {:?}", name, t.name); let item_type = m.type_(); let id = cx.derive_id(format!("{}.{}", item_type, name)); + write!(w, "
"); write!(w, "

", id = id,); render_assoc_item(w, m, AssocItemLink::Anchor(Some(&id)), ItemType::Impl, cx); w.write_str(""); render_stability_since(w, m, t, cx.tcx()); write_srclink(cx, m, w); - w.write_str("

"); + w.write_str("

"); document(w, cx, m, Some(t)); }