From 94bace795d6653cb6643ab8cc0a9393fbc7e26b2 Mon Sep 17 00:00:00 2001 From: Tom Jakubowski Date: Sat, 21 Jun 2014 05:03:33 -0700 Subject: [PATCH] rustdoc: show default type parameters in generics fix #12291 --- src/librustdoc/clean/mod.rs | 5 ++++- src/librustdoc/html/format.rs | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 5e84a90121f..66d0b5c2857 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -40,7 +40,7 @@ use visit_ast; /// A stable identifier to the particular version of JSON output. /// Increment this when the `Crate` and related structures change. -pub static SCHEMA_VERSION: &'static str = "0.8.2"; +pub static SCHEMA_VERSION: &'static str = "0.8.3"; mod inline; @@ -449,6 +449,7 @@ pub struct TyParam { pub name: String, pub did: ast::DefId, pub bounds: Vec, + pub default: Option } impl Clean for ast::TyParam { @@ -457,6 +458,7 @@ impl Clean for ast::TyParam { name: self.ident.clean(), did: ast::DefId { krate: ast::LOCAL_CRATE, node: self.id }, bounds: self.bounds.clean().move_iter().collect(), + default: self.default.clean() } } } @@ -470,6 +472,7 @@ impl Clean for ty::TypeParameterDef { name: self.ident.clean(), did: self.def_id, bounds: self.bounds.clean(), + default: self.default.clean() } } } diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index 0ba776e903a..1173f6eb5b8 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -82,6 +82,11 @@ impl fmt::Show for clean::Generics { try!(write!(f, "{}", *bound)); } } + + match tp.default { + Some(ref ty) => { try!(write!(f, " = {}", ty)); }, + None => {} + }; } } try!(f.write(">".as_bytes()));