Skip to content

Commit

Permalink
Auto merge of #25225 - bluss:doc-search-assoc-items, r=alexcrichton
Browse files Browse the repository at this point in the history
Rustdoc fixes for associated items

This is related to isssue #22442 and solves it partly.

This solves the search index links of associated types and constants,
so that they link to the trait page.

Also add an Associated Constants section if constants are present.
  • Loading branch information
bors committed May 11, 2015
2 parents a90dd32 + c46f3ff commit 4b88e8f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
13 changes: 13 additions & 0 deletions src/librustdoc/html/render.rs
Expand Up @@ -905,6 +905,8 @@ impl DocFolder for Cache {
// Index this method for searching later on
if let Some(ref s) = item.name {
let (parent, is_method) = match item.inner {
clean::AssociatedTypeItem(..) |
clean::AssociatedConstItem(..) |
clean::TyMethodItem(..) |
clean::StructFieldItem(..) |
clean::VariantItem(..) => {
Expand Down Expand Up @@ -1862,6 +1864,17 @@ fn item_trait(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
try!(write!(w, "</div>"));
}

if !consts.is_empty() {
try!(write!(w, "
<h2 id='associated-const'>Associated Constants</h2>
<div class='methods'>
"));
for t in &consts {
try!(trait_item(w, *t));
}
try!(write!(w, "</div>"));
}

// Output the documentation for each function individually
if !required.is_empty() {
try!(write!(w, "
Expand Down
3 changes: 2 additions & 1 deletion src/librustdoc/html/static/main.js
Expand Up @@ -34,7 +34,8 @@
"macro",
"primitive",
"associatedtype",
"constant"];
"constant",
"associatedconstant"];

$('.js-only').removeClass('js-only');

Expand Down
1 change: 1 addition & 0 deletions src/test/rustdoc/assoc-consts.rs
Expand Up @@ -13,6 +13,7 @@
pub trait Foo {
// @has assoc_consts/trait.Foo.html '//*[@class="rust trait"]' \
// 'const FOO: usize;'
// @has - '//*[@id="associatedconstant.FOO"]' 'const FOO'
const FOO: usize;
}

Expand Down

0 comments on commit 4b88e8f

Please sign in to comment.