@@ -16,12 +16,14 @@ fn print_fields(name: &Ident, fields: &Fields) -> (TokenStream, TokenStream, Tok
16
16
let name = field. ident . as_ref ( ) . unwrap ( ) ;
17
17
let string_name = name. to_string ( ) ;
18
18
disps. push ( quote ! {
19
- if __printed_anything && #name. should_render( ) {
20
- __p. word_space( "," ) ;
19
+ if #name. should_render( ) {
20
+ if __printed_anything {
21
+ __p. word_space( "," ) ;
22
+ }
23
+ __p. word( #string_name) ;
24
+ __p. word_space( ":" ) ;
21
25
__printed_anything = true ;
22
26
}
23
- __p. word( #string_name) ;
24
- __p. word_space( ":" ) ;
25
27
#name. print_attribute( __p) ;
26
28
} ) ;
27
29
field_names. push ( name) ;
@@ -35,6 +37,7 @@ fn print_fields(name: &Ident, fields: &Fields) -> (TokenStream, TokenStream, Tok
35
37
return ;
36
38
}
37
39
40
+ __p. nbsp( ) ;
38
41
__p. word( "{" ) ;
39
42
#( #disps) *
40
43
__p. word( "}" ) ;
@@ -48,8 +51,10 @@ fn print_fields(name: &Ident, fields: &Fields) -> (TokenStream, TokenStream, Tok
48
51
for idx in 0 ..fields_unnamed. unnamed . len ( ) {
49
52
let name = format_ident ! ( "f{idx}" ) ;
50
53
disps. push ( quote ! {
51
- if __printed_anything && #name. should_render( ) {
52
- __p. word_space( "," ) ;
54
+ if #name. should_render( ) {
55
+ if __printed_anything {
56
+ __p. word_space( "," ) ;
57
+ }
53
58
__printed_anything = true ;
54
59
}
55
60
#name. print_attribute( __p) ;
@@ -66,9 +71,9 @@ fn print_fields(name: &Ident, fields: &Fields) -> (TokenStream, TokenStream, Tok
66
71
return ;
67
72
}
68
73
69
- __p. word ( "(" ) ;
74
+ __p. popen ( ) ;
70
75
#( #disps) *
71
- __p. word ( ")" ) ;
76
+ __p. pclose ( ) ;
72
77
} ,
73
78
quote ! { true } ,
74
79
)
0 commit comments