Change:
In rustdoc sidebars, most headings are clickable links. For instance, "Required Methods" and "Implementors" in the sidebar of However, the headings under "Other items in..." are not clickable. We should link those to the appropriate subheading on the module page. That allows the user to see a more verbose listing of items in the module, since each one has a description alongside it. <img width=150 src="https://user-"<!-- TRIAGEBOTSTART --<!-- TRIAGEBOTASSIGNSTART --<!-- TRIAGEBOTASSIGNDATASTARTTRIAGEBOTASSIGNDATAEND --<!-- TRIAGEBOTASSIGNEND --<!-- TRIAGEBOTEND --
So, for instance, sidebar heading should lead ?
claim
Yes, that's correct.
By the way be aware this will conflict with Resolving the conflict should be pretty easy though.
Thanks
any progress on this? I'd like to get it landed before the beta cut, so we have a consistent UI where headings in the sidebar are clickable.
sorry, i couldn't make time last ,i will unassign me, thanks.

Discussion:
} .block ul, .block li { padding: 0; <ins> margin: 0; </ins> list-style: none; }

font-weight: 500; padding: 0; margin: 0; <del> margin-top: 0.5rem; margin-bottom: 0.25rem; </del> } .sidebar-links,

others.appendChild(div); } <del> function block(shortty, longty) { </del> <ins> /** * Append to the sidebar a "block" of links - a heading along with a list (`<ul>`) of items. * * @param {string} shortty - A short type name, like "primitive", "mod", or "macro" * @param {string} id - The HTML id of the corresponding section on the module page. * @param {string} longty - A long, capitalized, plural name, like "Primitive Types", *                          "Modules", or "Macros". */ function block(shortty, id, longty) { </ins> var filtered = items[shortty]; if (!filtered) { return;

var div = document.createElement("div"); div.className = "block " + shortty; var h3 = document.createElement("h3"); <del> h3.textContent = longty; </del> <ins> h3.innerHTML = `<a href="index.html#${id}">${longty}</a>`; </ins> div.appendChild(h3); var ul = document.createElement("ul");

var isModule = hasClass(document.body, "mod"); if (!isModule) { <del> block("primitive", "Primitive Types"); block("mod", "Modules"); block("macro", "Macros"); block("struct", "Structs"); block("enum", "Enums"); block("union", "Unions"); block("constant", "Constants"); block("static", "Statics"); block("trait", "Traits"); block("fn", "Functions"); block("type", "Type Definitions"); block("foreigntype", "Foreign Types"); block("keyword", "Keywords"); block("traitalias", "Trait Aliases"); </del> <ins> block("primitive", "primitives", "Primitive Types"); block("mod", "modules", "Modules"); block("macro", "macros", "Macros"); block("struct", "structs", "Structs"); block("enum", "enums", "Enums"); block("union", "unions", "Unions"); block("constant", "constants", "Constants"); block("static", "static", "Statics"); block("trait", "traits", "Traits"); block("fn", "functions", "Functions"); block("type", "types", "Type Definitions"); block("foreigntype", "foreign-types", "Foreign Types"); block("keyword", "keywords", "Keywords"); block("traitalias", "trait-aliases", "Trait Aliases"); </ins> } // `crates{version}.js` should always be loaded before this script, so we can use

// Check that the bottom-most item on the sidebar menu can be scrolled fully into view. click: ".sidebar-menu-toggle" scroll-to: ".block.keyword li:nth-child(1)" <del> assert-position: (".block.keyword li:nth-child(1)", {"y": 542.96875}) </del> <ins> assert-position: (".block.keyword li:nth-child(1)", {"y": 542.234375}) </ins>

// Links to trait implementations in the sidebar should not wrap even if they are long. goto: file://|DOC_PATH|/lib2/struct.HasALongTraitWithParams.html assert-property: (".sidebar-links a", {"offsetHeight": 29}) <ins> // Test that clicking on of the "In <module>" headings in the sidebar links to the // appropriate anchor in index.html. goto: file://|DOC_PATH|/test_docs/struct.Foo.html click: ".block.mod h3 a" // PAGE: index.html assert-css: ("#modules", {"background-color": "rgb(253, 255, 211)"}) </ins>