rollup merge of #20722: alexcrichton/audit-show

Conflicts:
	src/libcollections/vec.rs
	src/libcore/fmt/mod.rs
	src/librustdoc/html/format.rs
This commit is contained in:
Alex Crichton
2015-01-07 17:18:59 -08:00
22 changed files with 76 additions and 78 deletions

View File

@@ -51,6 +51,8 @@ pub struct ConciseStability<'a>(pub &'a Option<clean::Stability>);
pub struct WhereClause<'a>(pub &'a clean::Generics);
/// Wrapper struct for emitting type parameter bounds.
pub struct TyParamBounds<'a>(pub &'a [clean::TyParamBound]);
/// Wrapper struct for emitting a comma-separated list of items
pub struct CommaSep<'a, T: 'a>(pub &'a [T]);
impl VisSpace {
pub fn get(&self) -> Option<ast::Visibility> {
@@ -64,6 +66,16 @@ impl UnsafetySpace {
}
}
impl<'a, T: fmt::String> fmt::String for CommaSep<'a, T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
for (i, item) in self.0.iter().enumerate() {
if i != 0 { try!(write!(f, ", ")); }
try!(write!(f, "{}", item));
}
Ok(())
}
}
impl<'a> fmt::String for TyParamBounds<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let &TyParamBounds(bounds) = self;
@@ -450,7 +462,8 @@ impl fmt::String for clean::Type {
lifetimes = if decl.lifetimes.len() == 0 {
"".to_string()
} else {
format!("for &lt;{:#}&gt;", decl.lifetimes)
format!("for &lt;{}&gt;",
CommaSep(decl.lifetimes.as_slice()))
},
args = decl.decl.inputs,
arrow = decl.decl.output,
@@ -482,7 +495,8 @@ impl fmt::String for clean::Type {
lifetimes = if decl.lifetimes.len() == 0 {
"".to_string()
} else {
format!("for &lt;{:#}&gt;", decl.lifetimes)
format!("for &lt;{}&gt;",
CommaSep(decl.lifetimes.as_slice()))
},
args = decl.decl.inputs,
bounds = if decl.bounds.len() == 0 {
@@ -512,7 +526,8 @@ impl fmt::String for clean::Type {
primitive_link(f, clean::PrimitiveTuple,
match typs.as_slice() {
[ref one] => format!("({},)", one),
many => format!("({:#})", many)
many => format!("({})",
CommaSep(many.as_slice()))
}.as_slice())
}
clean::Vector(ref t) => {