diff options
| author | Jacob Hoffman-Andrews <github@hoffman-andrews.com> | 2021-06-03 10:28:43 -0700 |
|---|---|---|
| committer | Jacob Hoffman-Andrews <github@hoffman-andrews.com> | 2021-06-16 22:08:36 -0700 |
| commit | ce6472987d2cb466345a857cb2efdd06307c5ebf (patch) | |
| tree | 18dec7d1edb4c45c7d2051c1c3e1998d69b4dd92 | |
| parent | 50a407200b970d8a48e4e58de37c94df355f5472 (diff) | |
| download | rust-ce6472987d2cb466345a857cb2efdd06307c5ebf.tar.gz rust-ce6472987d2cb466345a857cb2efdd06307c5ebf.zip | |
Remove methods under Implementors on trait pages
These were hidden by default, and duplicated information already on the page anyhow. Also remove the "Auto-hide trait implementors of a trait" setting, which is not needed anymore.
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 38 | ||||
| -rw-r--r-- | src/librustdoc/html/static/main.js | 5 | ||||
| -rw-r--r-- | src/test/rustdoc/issue-19055.rs | 20 |
3 files changed, 21 insertions, 42 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 0efa014b127..4f3acfb8e82 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -490,7 +490,6 @@ fn settings(root_path: &str, suffix: &str, themes: &[StylePath]) -> Result<Strin ("auto-hide-method-docs", "Auto-hide item methods' documentation", false).into(), ("auto-hide-trait-implementations", "Auto-hide trait implementation documentation", false) .into(), - ("auto-collapse-implementors", "Auto-hide implementors of a trait", true).into(), ("go-to-only-result", "Directly go to item in search if there is only one result", false) .into(), ("line-numbers", "Show line numbers on code examples", false).into(), @@ -1543,7 +1542,10 @@ fn render_impl( } } if render_mode == RenderMode::Normal { - let toggled = !impl_items.is_empty() || !default_impl_items.is_empty(); + let on_trait_page = matches!(*parent.kind, clean::ItemKind::TraitItem(_)); + let has_impl_items = !(impl_items.is_empty() && default_impl_items.is_empty()); + let toggled = !on_trait_page && has_impl_items; + let is_implementing_trait = i.inner_impl().trait_.is_some(); if toggled { close_tags.insert_str(0, "</details>"); write!(w, "<details class=\"rustdoc-toggle implementors-toggle\" open>"); @@ -1571,21 +1573,23 @@ fn render_impl( } } - if let Some(ref dox) = cx.shared.maybe_collapsed_doc_value(&i.impl_item) { - let mut ids = cx.id_map.borrow_mut(); - write!( - w, - "<div class=\"docblock\">{}</div>", - Markdown( - &*dox, - &i.impl_item.links(cx), - &mut ids, - cx.shared.codes, - cx.shared.edition(), - &cx.shared.playground - ) - .into_string() - ); + if !on_trait_page { + if let Some(ref dox) = cx.shared.maybe_collapsed_doc_value(&i.impl_item) { + let mut ids = cx.id_map.borrow_mut(); + write!( + w, + "<div class=\"docblock\">{}</div>", + Markdown( + &*dox, + &i.impl_item.links(cx), + &mut ids, + cx.shared.codes, + cx.shared.edition(), + &cx.shared.playground + ) + .into_string() + ); + } } } if !default_impl_items.is_empty() || !impl_items.is_empty() { diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index e43a231d757..98128878999 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -778,7 +778,6 @@ function hideThemeButtonState() { } var hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true"; - var hideImplementors = getSettingValue("auto-collapse-implementors") !== "false"; var hideImplementations = getSettingValue("auto-hide-trait-implementations") === "true"; var hideLargeItemContents = getSettingValue("auto-hide-large-items") !== "false"; @@ -796,10 +795,6 @@ function hideThemeButtonState() { setImplementorsTogglesOpen("blanket-implementations-list", false); } - if (!hideImplementors) { - setImplementorsTogglesOpen("implementors-list", true); - } - onEachLazy(document.getElementsByClassName("rustdoc-toggle"), function (e) { if (!hideLargeItemContents && hasClass(e, "type-contents-toggle")) { e.open = true; diff --git a/src/test/rustdoc/issue-19055.rs b/src/test/rustdoc/issue-19055.rs deleted file mode 100644 index dbaf744dc47..00000000000 --- a/src/test/rustdoc/issue-19055.rs +++ /dev/null @@ -1,20 +0,0 @@ -// @has issue_19055/trait.Any.html -pub trait Any {} - -impl<'any> Any + 'any { - // @has - '//*[@id="method.is"]' 'fn is' - pub fn is<T: 'static>(&self) -> bool { loop {} } - - // @has - '//*[@id="method.downcast_ref"]' 'fn downcast_ref' - pub fn downcast_ref<T: 'static>(&self) -> Option<&T> { loop {} } - - // @has - '//*[@id="method.downcast_mut"]' 'fn downcast_mut' - pub fn downcast_mut<T: 'static>(&mut self) -> Option<&mut T> { loop {} } -} - -pub trait Foo { - fn foo(&self) {} -} - -// @has - '//*[@id="method.foo"]' 'fn foo' -impl Foo for Any {} |
