diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index e4afb9ae54b8a..41c08dbf4ab65 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1669,6 +1669,8 @@ impl<'a> Settings<'a> { settings: vec![ ("item-declarations", "Auto-hide item declarations.", true), ("item-attributes", "Auto-hide item attributes.", true), + ("trait-implementations", "Auto-hide trait implementations documentation", + true), ("go-to-only-result", "Directly go to item in search if there is only one result", false), ], diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index f3c9ce424106d..3bd343c0c0b68 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1938,17 +1938,19 @@ if (collapse) { toggleAllDocs(pageId, true); } - onEach(document.getElementsByClassName("collapse-toggle"), function(e) { - // inherent impl ids are like 'impl' or impl-'. - // they will never be hidden by default. - var n = e.parentNode; - if (n.id.match(/^impl(?:-\d+)?$/) === null) { - // Automatically minimize all non-inherent impls - if (collapse || hasClass(n, 'impl')) { - collapseDocs(e, "hide", pageId); + if (getCurrentValue('rustdoc-trait-implementations') !== "false") { + onEach(document.getElementsByClassName("collapse-toggle"), function(e) { + // inherent impl ids are like 'impl' or impl-'. + // they will never be hidden by default. + var n = e.parentNode; + if (n.id.match(/^impl(?:-\d+)?$/) === null) { + // Automatically minimize all non-inherent impls + if (collapse || hasClass(n, 'impl')) { + collapseDocs(e, "hide", pageId); + } } - } - }); + }); + } } var x = document.getElementById('toggle-all-docs');