@@ -1967,14 +1967,13 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
19671967 UnstableFeatures :: Allow => f. constness ,
19681968 _ => hir:: Constness :: NotConst
19691969 } ;
1970- let prefix = format ! ( "{}{}{}{:#}fn {}{:#}" ,
1970+ let indent = format ! ( "{}{}{}{:#}fn {}{:#}" ,
19711971 VisSpace ( & it. visibility) ,
19721972 ConstnessSpace ( vis_constness) ,
19731973 UnsafetySpace ( f. unsafety) ,
19741974 AbiSpace ( f. abi) ,
19751975 it. name. as_ref( ) . unwrap( ) ,
1976- f. generics) ;
1977- let indent = repeat ( " " ) . take ( prefix. len ( ) ) . collect :: < String > ( ) ;
1976+ f. generics) . len ( ) ;
19781977 write ! ( w, "<pre class='rust fn'>{vis}{constness}{unsafety}{abi}fn \
19791978 {name}{generics}{decl}{where_clause}</pre>",
19801979 vis = VisSpace ( & it. visibility) ,
@@ -1983,8 +1982,8 @@ fn item_function(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
19831982 abi = AbiSpace ( f. abi) ,
19841983 name = it. name. as_ref( ) . unwrap( ) ,
19851984 generics = f. generics,
1986- where_clause = WhereClause ( & f. generics, " " . to_string ( ) ) ,
1987- decl = Method ( & f. decl, & indent) ) ?;
1985+ where_clause = WhereClause ( & f. generics, 2 ) ,
1986+ decl = Method ( & f. decl, indent) ) ?;
19881987 document ( w, cx, it)
19891988}
19901989
@@ -2009,17 +2008,15 @@ fn item_trait(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
20092008 }
20102009 }
20112010
2012- // Where clauses in traits are indented nine spaces, per rustdoc.css
2013- let indent = " " . to_string ( ) ;
2014-
20152011 // Output the trait definition
20162012 write ! ( w, "<pre class='rust trait'>{}{}trait {}{}{}{} " ,
20172013 VisSpace ( & it. visibility) ,
20182014 UnsafetySpace ( t. unsafety) ,
20192015 it. name. as_ref( ) . unwrap( ) ,
20202016 t. generics,
20212017 bounds,
2022- WhereClause ( & t. generics, indent) ) ?;
2018+ // Where clauses in traits are indented nine spaces, per rustdoc.css
2019+ WhereClause ( & t. generics, 9 ) ) ?;
20232020
20242021 let types = t. items . iter ( ) . filter ( |m| m. is_associated_type ( ) ) . collect :: < Vec < _ > > ( ) ;
20252022 let consts = t. items . iter ( ) . filter ( |m| m. is_associated_const ( ) ) . collect :: < Vec < _ > > ( ) ;
@@ -2272,16 +2269,15 @@ fn render_assoc_item(w: &mut fmt::Formatter,
22722269 AbiSpace ( abi) ,
22732270 name,
22742271 * g) ;
2275- let mut indent = repeat ( " " ) . take ( prefix. len ( ) ) . collect :: < String > ( ) ;
2272+ let mut indent = prefix. len ( ) ;
22762273 let where_indent = if parent == ItemType :: Trait {
2277- indent += " " ;
2278- " " . to_string ( )
2274+ indent += 4 ;
2275+ 8
22792276 } else if parent == ItemType :: Impl {
2280- " " . to_string ( )
2277+ 2
22812278 } else {
2282- let prefix = prefix + & format ! ( "{:#}" , Method ( d, & indent) ) ;
2283- let prefix = prefix. lines ( ) . last ( ) . unwrap ( ) ;
2284- repeat ( " " ) . take ( prefix. len ( ) + 1 ) . collect :: < String > ( )
2279+ let prefix = prefix + & format ! ( "{:#}" , Method ( d, indent) ) ;
2280+ prefix. lines ( ) . last ( ) . unwrap ( ) . len ( ) + 1
22852281 } ;
22862282 write ! ( w, "{}{}{}fn <a href='{href}' class='fnname'>{name}</a>\
22872283 {generics}{decl}{where_clause}",
@@ -2291,7 +2287,7 @@ fn render_assoc_item(w: &mut fmt::Formatter,
22912287 href = href,
22922288 name = name,
22932289 generics = * g,
2294- decl = Method ( d, & indent) ,
2290+ decl = Method ( d, indent) ,
22952291 where_clause = WhereClause ( g, where_indent) )
22962292 }
22972293 match item. inner {
@@ -2402,7 +2398,7 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
24022398 let padding = format ! ( "{}enum {}{:#} " ,
24032399 VisSpace ( & it. visibility) ,
24042400 it. name. as_ref( ) . unwrap( ) ,
2405- e. generics) ;
2401+ e. generics) . len ( ) ;
24062402 write ! ( w, "{}enum {}{}{}" ,
24072403 VisSpace ( & it. visibility) ,
24082404 it. name. as_ref( ) . unwrap( ) ,
@@ -2558,8 +2554,7 @@ fn render_struct(w: &mut fmt::Formatter, it: &clean::Item,
25582554 match ty {
25592555 doctree:: Plain => {
25602556 if let Some ( g) = g {
2561- let pad = repeat ( " " ) . take ( plain. len ( ) + 1 ) . collect :: < String > ( ) ;
2562- write ! ( w, "{}" , WhereClause ( g, pad) ) ?
2557+ write ! ( w, "{}" , WhereClause ( g, plain. len( ) + 1 ) ) ?
25632558 }
25642559 let mut has_visible_fields = false ;
25652560 write ! ( w, " {{" ) ?;
@@ -2609,16 +2604,14 @@ fn render_struct(w: &mut fmt::Formatter, it: &clean::Item,
26092604 write ! ( w, ")" ) ?;
26102605 plain. push_str ( ")" ) ;
26112606 if let Some ( g) = g {
2612- let pad = repeat ( " " ) . take ( plain. len ( ) + 1 ) . collect :: < String > ( ) ;
2613- write ! ( w, "{}" , WhereClause ( g, pad) ) ?
2607+ write ! ( w, "{}" , WhereClause ( g, plain. len( ) + 1 ) ) ?
26142608 }
26152609 write ! ( w, ";" ) ?;
26162610 }
26172611 doctree:: Unit => {
26182612 // Needed for PhantomData.
26192613 if let Some ( g) = g {
2620- let pad = repeat ( " " ) . take ( plain. len ( ) + 1 ) . collect :: < String > ( ) ;
2621- write ! ( w, "{}" , WhereClause ( g, pad) ) ?
2614+ write ! ( w, "{}" , WhereClause ( g, plain. len( ) + 1 ) ) ?
26222615 }
26232616 write ! ( w, ";" ) ?;
26242617 }
@@ -2643,8 +2636,7 @@ fn render_union(w: &mut fmt::Formatter, it: &clean::Item,
26432636 if let Some ( g) = g {
26442637 write ! ( w, "{}" , g) ?;
26452638 plain. push_str ( & format ! ( "{:#}" , g) ) ;
2646- let pad = repeat ( " " ) . take ( plain. len ( ) + 1 ) . collect :: < String > ( ) ;
2647- write ! ( w, "{}" , WhereClause ( g, pad) ) ?;
2639+ write ! ( w, "{}" , WhereClause ( g, plain. len( ) + 1 ) ) ?;
26482640 }
26492641
26502642 write ! ( w, " {{\n {}" , tab) ?;
@@ -2945,8 +2937,7 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
29452937
29462938fn item_typedef ( w : & mut fmt:: Formatter , cx : & Context , it : & clean:: Item ,
29472939 t : & clean:: Typedef ) -> fmt:: Result {
2948- let indent = format ! ( "type {}{:#} " , it. name. as_ref( ) . unwrap( ) , t. generics) ;
2949- let indent = repeat ( " " ) . take ( indent. len ( ) ) . collect :: < String > ( ) ;
2940+ let indent = format ! ( "type {}{:#} " , it. name. as_ref( ) . unwrap( ) , t. generics) . len ( ) ;
29502941 write ! ( w, "<pre class='rust typedef'>type {}{}{where_clause} = {type_};</pre>" ,
29512942 it. name. as_ref( ) . unwrap( ) ,
29522943 t. generics,
0 commit comments