@@ -90,6 +90,16 @@ impl<'a, T: fmt::Display> fmt::Display for CommaSep<'a, T> {
9090 }
9191}
9292
93+ impl < ' a , T : fmt:: Debug > fmt:: Debug for CommaSep < ' a , T > {
94+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
95+ for ( i, item) in self . 0 . iter ( ) . enumerate ( ) {
96+ if i != 0 { write ! ( f, ", " ) ?; }
97+ fmt:: Debug :: fmt ( item, f) ?;
98+ }
99+ Ok ( ( ) )
100+ }
101+ }
102+
93103impl < ' a > fmt:: Display for TyParamBounds < ' a > {
94104 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
95105 let & TyParamBounds ( bounds) = self ;
@@ -165,7 +175,7 @@ impl<'a> fmt::Display for WhereClause<'a> {
165175 if f. alternate ( ) {
166176 clause. push_str ( " where " ) ;
167177 } else {
168- clause. push_str ( " <span class=' where fmt-newline' >where " ) ;
178+ clause. push_str ( " <span class=\" where fmt-newline\" >where " ) ;
169179 }
170180 for ( i, pred) in gens. where_predicates . iter ( ) . enumerate ( ) {
171181 if i > 0 {
@@ -449,8 +459,8 @@ fn resolved_path(w: &mut fmt::Formatter, did: DefId, path: &clean::Path,
449459 } else {
450460 root. push_str ( & seg. name ) ;
451461 root. push_str ( "/" ) ;
452- write ! ( w, "<a class=' mod'
453- href=' {}index.html' >{}</a>::" ,
462+ write ! ( w, "<a class=\" mod\"
463+ href=\" {}index.html\" >{}</a>::" ,
454464 root,
455465 seg. name) ?;
456466 }
@@ -491,7 +501,7 @@ fn primitive_link(f: &mut fmt::Formatter,
491501 Some ( & def_id) if def_id. is_local ( ) => {
492502 let len = CURRENT_LOCATION_KEY . with ( |s| s. borrow ( ) . len ( ) ) ;
493503 let len = if len == 0 { 0 } else { len - 1 } ;
494- write ! ( f, "<a class=' primitive' href=' {}primitive.{}.html' >" ,
504+ write ! ( f, "<a class=\" primitive\" href=\" {}primitive.{}.html\" >" ,
495505 repeat( "../" ) . take( len) . collect:: <String >( ) ,
496506 prim. to_url_str( ) ) ?;
497507 needs_termination = true ;
@@ -508,7 +518,7 @@ fn primitive_link(f: &mut fmt::Formatter,
508518 ( .., render:: Unknown ) => None ,
509519 } ;
510520 if let Some ( ( cname, root) ) = loc {
511- write ! ( f, "<a class=' primitive' href=' {}{}/primitive.{}.html' >" ,
521+ write ! ( f, "<a class=\" primitive\" href=\" {}{}/primitive.{}.html\" >" ,
512522 root,
513523 cname,
514524 prim. to_url_str( ) ) ?;
@@ -550,7 +560,7 @@ impl<'a> fmt::Display for HRef<'a> {
550560 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
551561 match href ( self . did ) {
552562 Some ( ( url, shortty, fqp) ) => if !f. alternate ( ) {
553- write ! ( f, "<a class='{}' href='{}' title=' {} {}' >{}</a>" ,
563+ write ! ( f, "<a class=\" {} \" href=\" {} \" title=\" {} {}\" >{}</a>" ,
554564 shortty, url, shortty, fqp. join( "::" ) , self . text)
555565 } else {
556566 write ! ( f, "{}" , self . text)
@@ -599,21 +609,21 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
599609 fmt:: Display :: fmt ( one, f) ?;
600610 primitive_link ( f, PrimitiveType :: Tuple , ",)" )
601611 }
602- & [ ref one] => write ! ( f, "({},)" , one) ,
612+ & [ ref one] => write ! ( f, "({:? },)" , one) ,
603613 many if is_not_debug => {
604614 primitive_link ( f, PrimitiveType :: Tuple , "(" ) ?;
605615 fmt:: Display :: fmt ( & CommaSep ( & many) , f) ?;
606616 primitive_link ( f, PrimitiveType :: Tuple , ")" )
607617 }
608- many => write ! ( f, "({})" , & CommaSep ( & many) ) ,
618+ many => write ! ( f, "({:? })" , & CommaSep ( & many) ) ,
609619 }
610620 }
611621 clean:: Vector ( ref t) if is_not_debug => {
612622 primitive_link ( f, PrimitiveType :: Slice , & format ! ( "[" ) ) ?;
613623 fmt:: Display :: fmt ( t, f) ?;
614624 primitive_link ( f, PrimitiveType :: Slice , & format ! ( "]" ) )
615625 }
616- clean:: Vector ( ref t) => write ! ( f, "[{}]" , t) ,
626+ clean:: Vector ( ref t) => write ! ( f, "[{:? }]" , t) ,
617627 clean:: FixedVector ( ref t, ref s) if is_not_debug => {
618628 primitive_link ( f, PrimitiveType :: Array , "[" ) ?;
619629 fmt:: Display :: fmt ( t, f) ?;
@@ -627,9 +637,9 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
627637 }
628638 clean:: FixedVector ( ref t, ref s) => {
629639 if f. alternate ( ) {
630- write ! ( f, "[{}; {}]" , t, s)
640+ write ! ( f, "[{:? }; {}]" , t, s)
631641 } else {
632- write ! ( f, "[{}; {}]" , t, Escape ( s) )
642+ write ! ( f, "[{:? }; {}]" , t, Escape ( s) )
633643 }
634644 }
635645 clean:: Never => f. write_str ( "!" ) ,
@@ -646,9 +656,9 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
646656 }
647657 clean:: Generic ( _) | clean:: ResolvedPath { is_generic : true , ..} => {
648658 if f. alternate ( ) {
649- write ! ( f, "*{}{:#}" , RawMutableSpace ( m) , t)
659+ write ! ( f, "*{}{:#? }" , RawMutableSpace ( m) , t)
650660 } else {
651- write ! ( f, "*{}{}" , RawMutableSpace ( m) , t)
661+ write ! ( f, "*{}{:? }" , RawMutableSpace ( m) , t)
652662 }
653663 }
654664 _ if is_not_debug => {
@@ -657,7 +667,7 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
657667 fmt:: Display :: fmt ( t, f)
658668 }
659669 _ => {
660- write ! ( f, "*{}{}" , RawMutableSpace ( m) , t)
670+ write ! ( f, "*{}{:? }" , RawMutableSpace ( m) , t)
661671 }
662672 }
663673 }
@@ -681,9 +691,9 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
681691 }
682692 clean:: Generic ( _) => {
683693 if f. alternate ( ) {
684- write ! ( f, "&{}{}[{:#}]" , lt, m, * * bt)
694+ write ! ( f, "&{}{}[{:#? }]" , lt, m, * * bt)
685695 } else {
686- write ! ( f, "&{}{}[{}]" , lt, m, * * bt)
696+ write ! ( f, "&{}{}[{:? }]" , lt, m, * * bt)
687697 }
688698 }
689699 _ if is_not_debug => {
@@ -700,9 +710,9 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
700710 }
701711 _ => {
702712 if f. alternate ( ) {
703- write ! ( f, "&{}{}[{:#}]" , lt, m, * * bt)
713+ write ! ( f, "&{}{}[{:#? }]" , lt, m, * * bt)
704714 } else {
705- write ! ( f, "&{}{}[{}]" , lt, m, * * bt)
715+ write ! ( f, "&{}{}[{:? }]" , lt, m, * * bt)
706716 }
707717 }
708718 }
@@ -765,12 +775,16 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool,
765775 }
766776 clean:: QPath { ref name, ref self_type, ref trait_ } => {
767777 if f. alternate ( ) {
768- write ! ( f, "<{:#} as {:#}>::{}" , self_type, trait_, name)
778+ if is_not_debug {
779+ write ! ( f, "<{:#} as {:#}>::{}" , self_type, trait_, name)
780+ } else {
781+ write ! ( f, "<{:#?} as {:#?}>::{}" , self_type, trait_, name)
782+ }
769783 } else {
770784 if is_not_debug {
771785 write ! ( f, "<{} as {}>::{}" , self_type, trait_, name)
772786 } else {
773- write ! ( f, "<{} as {}>::{}" , self_type, trait_, name)
787+ write ! ( f, "<{:? } as {:? }>::{}" , self_type, trait_, name)
774788 }
775789 }
776790 }
0 commit comments