};
let mut tmp = Vec::new();
for child in &mut m.items {
- match child.inner {
- ModuleItem(..) => {}
- _ => continue,
+ if !child.is_mod() {
+ continue;
}
let prim = match PrimitiveType::find(&child.attrs) {
Some(prim) => prim,
pub fn doc_value<'a>(&'a self) -> Option<&'a str> {
self.attrs.value("doc")
}
-
+ pub fn is_crate(&self) -> bool {
+ match self.inner {
+ ModuleItem(Module { items: _, is_crate: true }) => true,
+ _ => false
+ }
+ }
pub fn is_mod(&self) -> bool {
match self.inner { ModuleItem(..) => true, _ => false }
}
pub fn is_fn(&self) -> bool {
match self.inner { FunctionItem(..) => true, _ => false }
}
+ pub fn is_associated_type(&self) -> bool {
+ match self.inner { AssociatedTypeItem(..) => true, _ => false }
+ }
+ pub fn is_associated_const(&self) -> bool {
+ match self.inner { AssociatedConstItem(..) => true, _ => false }
+ }
+ pub fn is_method(&self) -> bool {
+ match self.inner { MethodItem(..) => true, _ => false }
+ }
+ pub fn is_ty_method(&self) -> bool {
+ match self.inner { TyMethodItem(..) => true, _ => false }
+ }
pub fn stability_class(&self) -> String {
self.stability.as_ref().map(|ref s| {
}
title.push_str(" - Rust");
let tyname = shortty(it).to_static_str();
- let is_crate = match it.inner {
- clean::ModuleItem(clean::Module { items: _, is_crate: true }) => true,
- _ => false
- };
- let desc = if is_crate {
+ let desc = if it.is_crate() {
format!("API documentation for the Rust `{}` crate.",
cx.layout.krate)
} else {
bounds,
WhereClause(&t.generics)));
- let types = t.items.iter().filter(|m| {
- match m.inner { clean::AssociatedTypeItem(..) => true, _ => false }
- }).collect::<Vec<_>>();
- let consts = t.items.iter().filter(|m| {
- match m.inner { clean::AssociatedConstItem(..) => true, _ => false }
- }).collect::<Vec<_>>();
- let required = t.items.iter().filter(|m| {
- match m.inner { clean::TyMethodItem(_) => true, _ => false }
- }).collect::<Vec<_>>();
- let provided = t.items.iter().filter(|m| {
- match m.inner { clean::MethodItem(_) => true, _ => false }
- }).collect::<Vec<_>>();
+ let types = t.items.iter().filter(|m| m.is_associated_type()).collect::<Vec<_>>();
+ let consts = t.items.iter().filter(|m| m.is_associated_const()).collect::<Vec<_>>();
+ let required = t.items.iter().filter(|m| m.is_ty_method()).collect::<Vec<_>>();
+ let provided = t.items.iter().filter(|m| m.is_method()).collect::<Vec<_>>();
if t.items.is_empty() {
try!(write!(w, "{{ }}"));
try!(write!(fmt, "</p>"));
// sidebar refers to the enclosing module, not this module
- let relpath = if shortty(it) == ItemType::Module { "../" } else { "" };
+ let relpath = if it.is_mod() { "../" } else { "" };
try!(write!(fmt,
"<script>window.sidebarCurrent = {{\
name: '{name}', \