about summary refs log tree commit diff
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2016-02-25 04:21:10 +0530
committerManish Goregaokar <manishsmail@gmail.com>2016-02-25 04:21:10 +0530
commit2e89dee63902fd45ef21397bd15afd371e3cdbf9 (patch)
tree2738c18b9cfb0aa5ff63aa57fbe98e64cae379e3
parent27990edb5296ff2b27e2ff9253a66ee266a0ce72 (diff)
parent9d3bce38b4e7c2fe706d8228d720222ec2781e30 (diff)
downloadrust-2e89dee63902fd45ef21397bd15afd371e3cdbf9.tar.gz
rust-2e89dee63902fd45ef21397bd15afd371e3cdbf9.zip
Rollup merge of #31839 - mitaa:rdoc-idx-self, r=alexcrichton
fixes #31598

r? @alexcrichton
-rw-r--r--src/librustdoc/html/render.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index 692d230446c..1b97b3865d4 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -2734,18 +2734,19 @@ fn make_item_keywords(it: &clean::Item) -> String {
 
 fn get_index_search_type(item: &clean::Item,
                          parent: Option<String>) -> Option<IndexItemFunctionType> {
-    let decl = match item.inner {
-        clean::FunctionItem(ref f) => &f.decl,
-        clean::MethodItem(ref m) => &m.decl,
-        clean::TyMethodItem(ref m) => &m.decl,
+    let (decl, selfty) = match item.inner {
+        clean::FunctionItem(ref f) => (&f.decl, None),
+        clean::MethodItem(ref m) => (&m.decl, Some(&m.self_)),
+        clean::TyMethodItem(ref m) => (&m.decl, Some(&m.self_)),
         _ => return None
     };
 
     let mut inputs = Vec::new();
 
     // Consider `self` an argument as well.
-    if let Some(name) = parent {
-        inputs.push(Type { name: Some(name.to_ascii_lowercase()) });
+    match parent.and_then(|p| selfty.map(|s| (p, s)) ) {
+        Some((_, &clean::SelfStatic)) | None => (),
+        Some((name, _)) => inputs.push(Type { name: Some(name.to_ascii_lowercase()) }),
     }
 
     inputs.extend(&mut decl.inputs.values.iter().map(|arg| {