@@ -697,60 +697,32 @@ impl PrettyDoc for Struct {
697
697
D :: Doc : Clone ,
698
698
A : Clone ,
699
699
{
700
- let wrapped = self . fields . iter ( ) . map ( |p| unsafe {
701
- let x: & ' b StructExprPair = std:: mem:: transmute ( p) ;
702
- x
703
- } ) ;
704
- pretty_seq ( wrapped, "{" , "}" , "," , PRETTY_INDENT_MINOR_NEST , arena)
705
- }
706
- }
707
-
708
- pub struct StructExprPair ( pub ExprPair ) ;
709
-
710
- impl PrettyDoc for StructExprPair {
711
- fn pretty_doc < ' b , D , A > ( & ' b self , arena : & ' b D ) -> DocBuilder < ' b , D , A >
712
- where
713
- D : DocAllocator < ' b , A > ,
714
- D :: Doc : Clone ,
715
- A : Clone ,
716
- {
717
- let k = self . 0 . first . pretty_doc ( arena) ;
718
- let v = self . 0 . second . pretty_doc ( arena) ;
719
- let sep = arena. text ( ": " ) ;
720
-
721
- k. append ( sep) . group ( ) . append ( v) . group ( )
722
- }
723
- }
700
+ let fields = self . fields . iter ( ) . map ( |expr_pair| {
701
+ let k = expr_pair. first . pretty_doc ( arena) ;
702
+ let v = expr_pair. second . pretty_doc ( arena) ;
703
+ let sep = arena. text ( ": " ) ;
724
704
725
- impl PrettyDoc for StructLit {
726
- fn pretty_doc < ' b , D , A > ( & ' b self , arena : & ' b D ) -> DocBuilder < ' b , D , A >
727
- where
728
- D : DocAllocator < ' b , A > ,
729
- D :: Doc : Clone ,
730
- A : Clone ,
731
- {
732
- let wrapped = self . fields . iter ( ) . map ( |p| unsafe {
733
- let x: & ' b StructLitField = std:: mem:: transmute ( p) ;
734
- x
705
+ k. append ( sep) . group ( ) . append ( v) . group ( )
735
706
} ) ;
736
- pretty_seq ( wrapped , "{" , "}" , "," , PRETTY_INDENT_MINOR_NEST , arena)
707
+ pretty_seq_doc ( fields , "{" , None , "}" , "," , PRETTY_INDENT_MINOR_NEST , arena)
737
708
}
738
709
}
739
710
740
- pub struct StructLitField ( pub LitField ) ;
741
-
742
- impl PrettyDoc for StructLitField {
711
+ impl PrettyDoc for StructLit {
743
712
fn pretty_doc < ' b , D , A > ( & ' b self , arena : & ' b D ) -> DocBuilder < ' b , D , A >
744
713
where
745
714
D : DocAllocator < ' b , A > ,
746
715
D :: Doc : Clone ,
747
716
A : Clone ,
748
717
{
749
- let k = self . 0 . first . pretty_doc ( arena) ;
750
- let v = self . 0 . second . pretty_doc ( arena) ;
751
- let sep = arena. text ( ": " ) ;
718
+ let fields = self . fields . iter ( ) . map ( |expr_pair| {
719
+ let k = expr_pair. first . pretty_doc ( arena) ;
720
+ let v = expr_pair. second . pretty_doc ( arena) ;
721
+ let sep = arena. text ( ": " ) ;
752
722
753
- k. append ( sep) . group ( ) . append ( v) . group ( )
723
+ k. append ( sep) . group ( ) . append ( v) . group ( )
724
+ } ) ;
725
+ pretty_seq_doc ( fields, "{" , None , "}" , "," , PRETTY_INDENT_MINOR_NEST , arena)
754
726
}
755
727
}
756
728
0 commit comments