From fc61cca41cb81af3c8167e8ceb596e2077d70310 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 30 Mar 2020 14:06:37 +0200 Subject: [PATCH] Expand sub code blocks block content when hidden when the page hash refers to it --- src/librustdoc/html/static/main.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 93929a67d496..8839d4fc4e52 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -306,6 +306,14 @@ function defocusSearchBar() { function expandSection(id) { var elem = document.getElementById(id); if (elem && isHidden(elem)) { + if (elem.tagName === "CODE" && elem.parentNode.tagName === "H4") { + // We are in a trait implementation, what we want is the parent. + elem = elem.parentNode; + if (elem.id !== null && elem.id.length > 0) { + // Change the id to the parent which is "more clear" and better for users. + window.location.hash = elem.id; + } + } var h3 = elem.parentNode.previousElementSibling; if (h3 && h3.tagName !== "H3") { h3 = h3.previousElementSibling; // skip div.docblock