rustdoc: render ast::QPath

Fix 
This commit is contained in:
Tom Jakubowski 2014-11-20 21:45:05 -08:00
parent dd4c7c00d8
commit de94f0affb
2 changed files with 19 additions and 0 deletions
src/librustdoc

@ -1135,6 +1135,11 @@ pub enum Type {
mutability: Mutability,
type_: Box<Type>,
},
QPath {
name: String,
self_type: Box<Type>,
trait_: Box<Type>
},
// region, raw, other boxes, mutable
}
@ -1260,6 +1265,7 @@ impl Clean<Type> for ast::Ty {
TyProc(ref c) => Proc(box c.clean(cx)),
TyBareFn(ref barefn) => BareFunction(box barefn.clean(cx)),
TyParen(ref ty) => ty.clean(cx),
TyQPath(ref qp) => qp.clean(cx),
ref x => panic!("Unimplemented type {}", x),
}
}
@ -1362,6 +1368,16 @@ impl<'tcx> Clean<Type> for ty::Ty<'tcx> {
}
}
impl Clean<Type> for ast::QPath {
fn clean(&self, cx: &DocContext) -> Type {
Type::QPath {
name: self.item_name.clean(cx),
self_type: box self.self_type.clean(cx),
trait_: box self.trait_ref.clean(cx)
}
}
}
#[deriving(Clone, Encodable, Decodable)]
pub enum StructField {
HiddenStructField, // inserted later by strip passes

@ -485,6 +485,9 @@ impl fmt::Show for clean::Type {
}
}
}
clean::QPath { ref name, ref self_type, ref trait_ } => {
write!(f, "&lt;{} as {}&gt;::{}", self_type, trait_, name)
}
clean::Unique(..) => {
panic!("should have been cleaned")
}