From 9d3bce38b4e7c2fe706d8228d720222ec2781e30 Mon Sep 17 00:00:00 2001 From: mitaa Date: Tue, 23 Feb 2016 12:04:27 +0100 Subject: [PATCH] Don't record self parameter for static methods --- src/librustdoc/html/render.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 692d230446cda..1b97b3865d421 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) -> Option { - 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| {