@@ -11,7 +11,7 @@ impl<'a> PadAdapter<'a> {
11
11
fmt. wrap_buf ( move |buf| {
12
12
* slot = Some ( PadAdapter {
13
13
buf,
14
- on_newline : false ,
14
+ on_newline : true ,
15
15
} ) ;
16
16
slot. as_mut ( ) . unwrap ( )
17
17
} )
@@ -128,22 +128,21 @@ impl<'a, 'b: 'a> DebugStruct<'a, 'b> {
128
128
#[ stable( feature = "debug_builders" , since = "1.2.0" ) ]
129
129
pub fn field ( & mut self , name : & str , value : & dyn fmt:: Debug ) -> & mut DebugStruct < ' a , ' b > {
130
130
self . result = self . result . and_then ( |_| {
131
- let prefix = if self . has_fields {
132
- ","
133
- } else {
134
- " {"
135
- } ;
136
-
137
131
if self . is_pretty ( ) {
132
+ if !self . has_fields {
133
+ self . fmt . write_str ( " {\n " ) ?;
134
+ }
138
135
let mut slot = None ;
139
136
let mut writer = PadAdapter :: wrap ( & mut self . fmt , & mut slot) ;
140
- writer. write_str ( prefix) ?;
141
- writer. write_str ( "\n " ) ?;
142
137
writer. write_str ( name) ?;
143
138
writer. write_str ( ": " ) ?;
144
- value. fmt ( & mut writer)
139
+ value. fmt ( & mut writer) ?;
140
+ writer. write_str ( ",\n " )
145
141
} else {
146
- write ! ( self . fmt, "{} {}: " , prefix, name) ?;
142
+ let prefix = if self . has_fields { ", " } else { " { " } ;
143
+ self . fmt . write_str ( prefix) ?;
144
+ self . fmt . write_str ( name) ?;
145
+ self . fmt . write_str ( ": " ) ?;
147
146
value. fmt ( self . fmt )
148
147
}
149
148
} ) ;
@@ -184,7 +183,7 @@ impl<'a, 'b: 'a> DebugStruct<'a, 'b> {
184
183
if self . has_fields {
185
184
self . result = self . result . and_then ( |_| {
186
185
if self . is_pretty ( ) {
187
- self . fmt . write_str ( "\n }" )
186
+ self . fmt . write_str ( "}" )
188
187
} else {
189
188
self . fmt . write_str ( " }" )
190
189
}
@@ -275,21 +274,17 @@ impl<'a, 'b: 'a> DebugTuple<'a, 'b> {
275
274
#[ stable( feature = "debug_builders" , since = "1.2.0" ) ]
276
275
pub fn field ( & mut self , value : & dyn fmt:: Debug ) -> & mut DebugTuple < ' a , ' b > {
277
276
self . result = self . result . and_then ( |_| {
278
- let ( prefix, space) = if self . fields > 0 {
279
- ( "," , " " )
280
- } else {
281
- ( "(" , "" )
282
- } ;
283
-
284
277
if self . is_pretty ( ) {
278
+ if self . fields == 0 {
279
+ self . fmt . write_str ( "(\n " ) ?;
280
+ }
285
281
let mut slot = None ;
286
282
let mut writer = PadAdapter :: wrap ( & mut self . fmt , & mut slot) ;
287
- writer. write_str ( prefix) ?;
288
- writer. write_str ( "\n " ) ?;
289
- value. fmt ( & mut writer)
283
+ value. fmt ( & mut writer) ?;
284
+ writer. write_str ( ",\n " )
290
285
} else {
286
+ let prefix = if self . fields == 0 { "(" } else { ", " } ;
291
287
self . fmt . write_str ( prefix) ?;
292
- self . fmt . write_str ( space) ?;
293
288
value. fmt ( self . fmt )
294
289
}
295
290
} ) ;
@@ -326,10 +321,7 @@ impl<'a, 'b: 'a> DebugTuple<'a, 'b> {
326
321
pub fn finish ( & mut self ) -> fmt:: Result {
327
322
if self . fields > 0 {
328
323
self . result = self . result . and_then ( |_| {
329
- if self . is_pretty ( ) {
330
- self . fmt . write_str ( "\n " ) ?;
331
- }
332
- if self . fields == 1 && self . empty_name {
324
+ if self . fields == 1 && self . empty_name && !self . is_pretty ( ) {
333
325
self . fmt . write_str ( "," ) ?;
334
326
}
335
327
self . fmt . write_str ( ")" )
@@ -353,14 +345,13 @@ impl<'a, 'b: 'a> DebugInner<'a, 'b> {
353
345
fn entry ( & mut self , entry : & dyn fmt:: Debug ) {
354
346
self . result = self . result . and_then ( |_| {
355
347
if self . is_pretty ( ) {
348
+ if !self . has_fields {
349
+ self . fmt . write_str ( "\n " ) ?;
350
+ }
356
351
let mut slot = None ;
357
352
let mut writer = PadAdapter :: wrap ( & mut self . fmt , & mut slot) ;
358
- writer. write_str ( if self . has_fields {
359
- ",\n "
360
- } else {
361
- "\n "
362
- } ) ?;
363
- entry. fmt ( & mut writer)
353
+ entry. fmt ( & mut writer) ?;
354
+ writer. write_str ( ",\n " )
364
355
} else {
365
356
if self . has_fields {
366
357
self . fmt . write_str ( ", " ) ?
@@ -372,15 +363,6 @@ impl<'a, 'b: 'a> DebugInner<'a, 'b> {
372
363
self . has_fields = true ;
373
364
}
374
365
375
- pub fn finish ( & mut self ) {
376
- let prefix = if self . is_pretty ( ) && self . has_fields {
377
- "\n "
378
- } else {
379
- ""
380
- } ;
381
- self . result = self . result . and_then ( |_| self . fmt . write_str ( prefix) ) ;
382
- }
383
-
384
366
fn is_pretty ( & self ) -> bool {
385
367
self . fmt . alternate ( )
386
368
}
@@ -421,7 +403,7 @@ pub struct DebugSet<'a, 'b: 'a> {
421
403
}
422
404
423
405
pub fn debug_set_new < ' a , ' b > ( fmt : & ' a mut fmt:: Formatter < ' b > ) -> DebugSet < ' a , ' b > {
424
- let result = write ! ( fmt, "{ {") ;
406
+ let result = fmt. write_str ( " {") ;
425
407
DebugSet {
426
408
inner : DebugInner {
427
409
fmt,
@@ -519,7 +501,6 @@ impl<'a, 'b: 'a> DebugSet<'a, 'b> {
519
501
/// ```
520
502
#[ stable( feature = "debug_builders" , since = "1.2.0" ) ]
521
503
pub fn finish ( & mut self ) -> fmt:: Result {
522
- self . inner . finish ( ) ;
523
504
self . inner . result . and_then ( |_| self . inner . fmt . write_str ( "}" ) )
524
505
}
525
506
}
@@ -559,7 +540,7 @@ pub struct DebugList<'a, 'b: 'a> {
559
540
}
560
541
561
542
pub fn debug_list_new < ' a , ' b > ( fmt : & ' a mut fmt:: Formatter < ' b > ) -> DebugList < ' a , ' b > {
562
- let result = write ! ( fmt, "[" ) ;
543
+ let result = fmt. write_str ( "[" ) ;
563
544
DebugList {
564
545
inner : DebugInner {
565
546
fmt,
@@ -657,7 +638,6 @@ impl<'a, 'b: 'a> DebugList<'a, 'b> {
657
638
/// ```
658
639
#[ stable( feature = "debug_builders" , since = "1.2.0" ) ]
659
640
pub fn finish ( & mut self ) -> fmt:: Result {
660
- self . inner . finish ( ) ;
661
641
self . inner . result . and_then ( |_| self . inner . fmt . write_str ( "]" ) )
662
642
}
663
643
}
@@ -699,7 +679,7 @@ pub struct DebugMap<'a, 'b: 'a> {
699
679
}
700
680
701
681
pub fn debug_map_new < ' a , ' b > ( fmt : & ' a mut fmt:: Formatter < ' b > ) -> DebugMap < ' a , ' b > {
702
- let result = write ! ( fmt, "{ {") ;
682
+ let result = fmt. write_str ( " {") ;
703
683
DebugMap {
704
684
fmt,
705
685
result,
@@ -734,16 +714,15 @@ impl<'a, 'b: 'a> DebugMap<'a, 'b> {
734
714
pub fn entry ( & mut self , key : & dyn fmt:: Debug , value : & dyn fmt:: Debug ) -> & mut DebugMap < ' a , ' b > {
735
715
self . result = self . result . and_then ( |_| {
736
716
if self . is_pretty ( ) {
717
+ if !self . has_fields {
718
+ self . fmt . write_str ( "\n " ) ?;
719
+ }
737
720
let mut slot = None ;
738
721
let mut writer = PadAdapter :: wrap ( & mut self . fmt , & mut slot) ;
739
- writer. write_str ( if self . has_fields {
740
- ",\n "
741
- } else {
742
- "\n "
743
- } ) ?;
744
722
key. fmt ( & mut writer) ?;
745
723
writer. write_str ( ": " ) ?;
746
- value. fmt ( & mut writer)
724
+ value. fmt ( & mut writer) ?;
725
+ writer. write_str ( ",\n " )
747
726
} else {
748
727
if self . has_fields {
749
728
self . fmt . write_str ( ", " ) ?
@@ -818,12 +797,7 @@ impl<'a, 'b: 'a> DebugMap<'a, 'b> {
818
797
/// ```
819
798
#[ stable( feature = "debug_builders" , since = "1.2.0" ) ]
820
799
pub fn finish ( & mut self ) -> fmt:: Result {
821
- let prefix = if self . is_pretty ( ) && self . has_fields {
822
- "\n "
823
- } else {
824
- ""
825
- } ;
826
- self . result . and_then ( |_| write ! ( self . fmt, "{}}}" , prefix) )
800
+ self . result . and_then ( |_| self . fmt . write_str ( "}" ) )
827
801
}
828
802
829
803
fn is_pretty ( & self ) -> bool {
0 commit comments