@@ -560,7 +560,8 @@ impl<'a> fmt::Display for HRef<'a> {
560
560
}
561
561
}
562
562
563
- fn fmt_type ( t : & clean:: Type , f : & mut fmt:: Formatter , use_absolute : bool ) -> fmt:: Result {
563
+ fn fmt_type ( t : & clean:: Type , f : & mut fmt:: Formatter , use_absolute : bool ,
564
+ is_not_debug : bool ) -> fmt:: Result {
564
565
match * t {
565
566
clean:: Generic ( ref name) => {
566
567
f. write_str ( name)
@@ -571,7 +572,8 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
571
572
tybounds ( f, typarams)
572
573
}
573
574
clean:: Infer => write ! ( f, "_" ) ,
574
- clean:: Primitive ( prim) => primitive_link ( f, prim, prim. as_str ( ) ) ,
575
+ clean:: Primitive ( prim) if is_not_debug => primitive_link ( f, prim, prim. as_str ( ) ) ,
576
+ clean:: Primitive ( prim) => write ! ( f, "{}" , prim. as_str( ) ) ,
575
577
clean:: BareFunction ( ref decl) => {
576
578
if f. alternate ( ) {
577
579
write ! ( f, "{}{}fn{:#}{:#}" ,
@@ -589,26 +591,30 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
589
591
}
590
592
clean:: Tuple ( ref typs) => {
591
593
match & typs[ ..] {
592
- & [ ] => primitive_link ( f, PrimitiveType :: Tuple , "()" ) ,
593
- & [ ref one] => {
594
+ & [ ] if is_not_debug => primitive_link ( f, PrimitiveType :: Tuple , "()" ) ,
595
+ & [ ] => write ! ( f, "()" ) ,
596
+ & [ ref one] if is_not_debug => {
594
597
primitive_link ( f, PrimitiveType :: Tuple , "(" ) ?;
595
598
//carry f.alternate() into this display w/o branching manually
596
599
fmt:: Display :: fmt ( one, f) ?;
597
600
primitive_link ( f, PrimitiveType :: Tuple , ",)" )
598
601
}
599
- many => {
602
+ & [ ref one] => write ! ( f, "({},)" , one) ,
603
+ many if is_not_debug => {
600
604
primitive_link ( f, PrimitiveType :: Tuple , "(" ) ?;
601
605
fmt:: Display :: fmt ( & CommaSep ( & many) , f) ?;
602
606
primitive_link ( f, PrimitiveType :: Tuple , ")" )
603
607
}
608
+ many => write ! ( f, "({})" , & CommaSep ( & many) ) ,
604
609
}
605
610
}
606
- clean:: Vector ( ref t) => {
611
+ clean:: Vector ( ref t) if is_not_debug => {
607
612
primitive_link ( f, PrimitiveType :: Slice , & format ! ( "[" ) ) ?;
608
613
fmt:: Display :: fmt ( t, f) ?;
609
614
primitive_link ( f, PrimitiveType :: Slice , & format ! ( "]" ) )
610
615
}
611
- clean:: FixedVector ( ref t, ref s) => {
616
+ clean:: Vector ( ref t) => write ! ( f, "[{}]" , t) ,
617
+ clean:: FixedVector ( ref t, ref s) if is_not_debug => {
612
618
primitive_link ( f, PrimitiveType :: Array , "[" ) ?;
613
619
fmt:: Display :: fmt ( t, f) ?;
614
620
if f. alternate ( ) {
@@ -619,10 +625,17 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
619
625
& format ! ( "; {}]" , Escape ( s) ) )
620
626
}
621
627
}
628
+ clean:: FixedVector ( ref t, ref s) => {
629
+ if f. alternate ( ) {
630
+ write ! ( f, "[{}; {}]" , t, s)
631
+ } else {
632
+ write ! ( f, "[{}; {}]" , t, Escape ( s) )
633
+ }
634
+ }
622
635
clean:: Never => f. write_str ( "!" ) ,
623
636
clean:: RawPointer ( m, ref t) => {
624
637
match * * t {
625
- clean:: Generic ( _) | clean:: ResolvedPath { is_generic : true , ..} => {
638
+ clean:: Generic ( _) | clean:: ResolvedPath { is_generic : true , ..} if is_not_debug => {
626
639
if f. alternate ( ) {
627
640
primitive_link ( f, clean:: PrimitiveType :: RawPointer ,
628
641
& format ! ( "*{}{:#}" , RawMutableSpace ( m) , t) )
@@ -631,11 +644,21 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
631
644
& format ! ( "*{}{}" , RawMutableSpace ( m) , t) )
632
645
}
633
646
}
634
- _ => {
647
+ clean:: Generic ( _) | clean:: ResolvedPath { is_generic : true , ..} => {
648
+ if f. alternate ( ) {
649
+ write ! ( f, "*{}{:#}" , RawMutableSpace ( m) , t)
650
+ } else {
651
+ write ! ( f, "*{}{}" , RawMutableSpace ( m) , t)
652
+ }
653
+ }
654
+ _ if is_not_debug => {
635
655
primitive_link ( f, clean:: PrimitiveType :: RawPointer ,
636
656
& format ! ( "*{}" , RawMutableSpace ( m) ) ) ?;
637
657
fmt:: Display :: fmt ( t, f)
638
658
}
659
+ _ => {
660
+ write ! ( f, "*{}{}" , RawMutableSpace ( m) , t)
661
+ }
639
662
}
640
663
}
641
664
clean:: BorrowedRef { lifetime : ref l, mutability, type_ : ref ty} => {
@@ -647,15 +670,23 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
647
670
match * * ty {
648
671
clean:: Vector ( ref bt) => { // BorrowedRef{ ... Vector(T) } is &[T]
649
672
match * * bt {
650
- clean:: Generic ( _) =>
673
+ clean:: Generic ( _) if is_not_debug => {
651
674
if f. alternate ( ) {
652
675
primitive_link ( f, PrimitiveType :: Slice ,
653
676
& format ! ( "&{}{}[{:#}]" , lt, m, * * bt) )
654
677
} else {
655
678
primitive_link ( f, PrimitiveType :: Slice ,
656
679
& format ! ( "&{}{}[{}]" , lt, m, * * bt) )
657
- } ,
658
- _ => {
680
+ }
681
+ }
682
+ clean:: Generic ( _) => {
683
+ if f. alternate ( ) {
684
+ write ! ( f, "&{}{}[{:#}]" , lt, m, * * bt)
685
+ } else {
686
+ write ! ( f, "&{}{}[{}]" , lt, m, * * bt)
687
+ }
688
+ }
689
+ _ if is_not_debug => {
659
690
if f. alternate ( ) {
660
691
primitive_link ( f, PrimitiveType :: Slice ,
661
692
& format ! ( "&{}{}[" , lt, m) ) ?;
@@ -667,15 +698,26 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
667
698
}
668
699
primitive_link ( f, PrimitiveType :: Slice , "]" )
669
700
}
701
+ _ => {
702
+ if f. alternate ( ) {
703
+ write ! ( f, "&{}{}[{:#}]" , lt, m, * * bt)
704
+ } else {
705
+ write ! ( f, "&{}{}[{}]" , lt, m, * * bt)
706
+ }
707
+ }
670
708
}
671
709
}
672
710
_ => {
673
711
if f. alternate ( ) {
674
712
write ! ( f, "&{}{}" , lt, m) ?;
675
- fmt_type ( & ty, f, use_absolute)
713
+ fmt_type ( & ty, f, use_absolute, is_not_debug )
676
714
} else {
677
- write ! ( f, "&{}{}" , lt, m) ?;
678
- fmt_type ( & ty, f, use_absolute)
715
+ if is_not_debug {
716
+ write ! ( f, "&{}{}" , lt, m) ?;
717
+ } else {
718
+ write ! ( f, "&{}{}" , lt, m) ?;
719
+ }
720
+ fmt_type ( & ty, f, use_absolute, is_not_debug)
679
721
}
680
722
}
681
723
}
@@ -725,7 +767,11 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
725
767
if f. alternate ( ) {
726
768
write ! ( f, "<{:#} as {:#}>::{}" , self_type, trait_, name)
727
769
} else {
728
- write ! ( f, "<{} as {}>::{}" , self_type, trait_, name)
770
+ if is_not_debug {
771
+ write ! ( f, "<{} as {}>::{}" , self_type, trait_, name)
772
+ } else {
773
+ write ! ( f, "<{} as {}>::{}" , self_type, trait_, name)
774
+ }
729
775
}
730
776
}
731
777
clean:: Unique ( ..) => {
@@ -736,7 +782,13 @@ fn fmt_type(t: &clean::Type, f: &mut fmt::Formatter, use_absolute: bool) -> fmt:
736
782
737
783
impl fmt:: Display for clean:: Type {
738
784
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
739
- fmt_type ( self , f, false )
785
+ fmt_type ( self , f, false , true )
786
+ }
787
+ }
788
+
789
+ impl fmt:: Debug for clean:: Type {
790
+ fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
791
+ fmt_type ( self , f, false , false )
740
792
}
741
793
}
742
794
@@ -777,7 +829,7 @@ fn fmt_impl(i: &clean::Impl,
777
829
plain. push_str ( " for " ) ;
778
830
}
779
831
780
- fmt_type ( & i. for_ , f, use_absolute) ?;
832
+ fmt_type ( & i. for_ , f, use_absolute, true ) ?;
781
833
plain. push_str ( & format ! ( "{:#}" , i. for_) ) ;
782
834
783
835
fmt:: Display :: fmt ( & WhereClause ( & i. generics , plain. len ( ) + 1 ) , f) ?;
0 commit comments