Rollup merge of #85280 - jsha:move-trait-toggles, r=GuillaumeGomez
Toggle-wrap items differently than top-doc. This makes sure things like trait methods get wrapped at the `<h3><code>` level rather than at the `.docblock` level. Also it ensures that only the actual top documentation gets the `.top-doc` class. Fixes #85167 Before:  https://doc.rust-lang.org/nightly/std/io/trait.Read.html#tymethod.read After: 
This commit is contained in:
commit
d151ed8699
3 changed files with 14 additions and 2 deletions
|
@ -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);
|
||||
if parent.is_none() {
|
||||
document_full_collapsible(w, item, cx);
|
||||
} else {
|
||||
document_full(w, item, cx);
|
||||
}
|
||||
}
|
||||
|
||||
/// Render md_text as markdown.
|
||||
|
|
|
@ -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, "<details class=\"rustdoc-toggle\" open><summary>");
|
||||
write!(w, "<h3 id=\"{id}\" class=\"method\"><code>", id = id,);
|
||||
render_assoc_item(w, m, AssocItemLink::Anchor(Some(&id)), ItemType::Impl, cx);
|
||||
w.write_str("</code>");
|
||||
render_stability_since(w, m, t, cx.tcx());
|
||||
write_srclink(cx, m, w);
|
||||
w.write_str("</h3>");
|
||||
w.write_str("</h3></summary>");
|
||||
document(w, cx, m, Some(t));
|
||||
}
|
||||
|
||||
|
|
7
src/test/rustdoc/toggle-trait-fn.rs
Normal file
7
src/test/rustdoc/toggle-trait-fn.rs
Normal file
|
@ -0,0 +1,7 @@
|
|||
#![crate_name = "foo"]
|
||||
|
||||
// @has foo/trait.Foo.html
|
||||
// @has - '//details[@class="rustdoc-toggle"]//code' 'bar'
|
||||
pub trait Foo {
|
||||
fn bar() -> ();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue