@@ -40,13 +40,17 @@ const WEEKDAY_NAMES: [&[u8]; 7] = [
40
40
] ;
41
41
42
42
/// Write all bytes to the output, returning the number of bytes written.
43
- pub ( crate ) fn write ( output : & mut impl io:: Write , bytes : & [ u8 ] ) -> io:: Result < usize > {
43
+ pub ( crate ) fn write ( output : & mut ( impl io:: Write + ? Sized ) , bytes : & [ u8 ] ) -> io:: Result < usize > {
44
44
output. write_all ( bytes) ?;
45
45
Ok ( bytes. len ( ) )
46
46
}
47
47
48
48
/// If `pred` is true, write all bytes to the output, returning the number of bytes written.
49
- pub ( crate ) fn write_if ( output : & mut impl io:: Write , pred : bool , bytes : & [ u8 ] ) -> io:: Result < usize > {
49
+ pub ( crate ) fn write_if (
50
+ output : & mut ( impl io:: Write + ?Sized ) ,
51
+ pred : bool ,
52
+ bytes : & [ u8 ] ,
53
+ ) -> io:: Result < usize > {
50
54
if pred {
51
55
write ( output, bytes)
52
56
} else {
@@ -56,7 +60,7 @@ pub(crate) fn write_if(output: &mut impl io::Write, pred: bool, bytes: &[u8]) ->
56
60
57
61
/// If `pred` is true, write `true_bytes` to the output. Otherwise, write `false_bytes`.
58
62
pub ( crate ) fn write_if_else (
59
- output : & mut impl io:: Write ,
63
+ output : & mut ( impl io:: Write + ? Sized ) ,
60
64
pred : bool ,
61
65
true_bytes : & [ u8 ] ,
62
66
false_bytes : & [ u8 ] ,
@@ -69,7 +73,7 @@ pub(crate) fn write_if_else(
69
73
/// This method accepts the number of digits before and after the decimal. The value will be padded
70
74
/// with zeroes to the left if necessary.
71
75
pub ( crate ) fn format_float (
72
- output : & mut impl io:: Write ,
76
+ output : & mut ( impl io:: Write + ? Sized ) ,
73
77
value : f64 ,
74
78
digits_before_decimal : u8 ,
75
79
digits_after_decimal : Option < NonZeroU8 > ,
@@ -98,7 +102,7 @@ pub(crate) fn format_float(
98
102
///
99
103
/// The sign must be written by the caller.
100
104
pub ( crate ) fn format_number < const WIDTH : u8 > (
101
- output : & mut impl io:: Write ,
105
+ output : & mut ( impl io:: Write + ? Sized ) ,
102
106
value : impl itoa:: Integer + DigitCount + Copy ,
103
107
padding : modifier:: Padding ,
104
108
) -> Result < usize , io:: Error > {
@@ -113,7 +117,7 @@ pub(crate) fn format_number<const WIDTH: u8>(
113
117
///
114
118
/// The sign must be written by the caller.
115
119
pub ( crate ) fn format_number_pad_space < const WIDTH : u8 > (
116
- output : & mut impl io:: Write ,
120
+ output : & mut ( impl io:: Write + ? Sized ) ,
117
121
value : impl itoa:: Integer + DigitCount + Copy ,
118
122
) -> Result < usize , io:: Error > {
119
123
let mut bytes = 0 ;
@@ -128,7 +132,7 @@ pub(crate) fn format_number_pad_space<const WIDTH: u8>(
128
132
///
129
133
/// The sign must be written by the caller.
130
134
pub ( crate ) fn format_number_pad_zero < const WIDTH : u8 > (
131
- output : & mut impl io:: Write ,
135
+ output : & mut ( impl io:: Write + ? Sized ) ,
132
136
value : impl itoa:: Integer + DigitCount + Copy ,
133
137
) -> Result < usize , io:: Error > {
134
138
let mut bytes = 0 ;
@@ -143,7 +147,7 @@ pub(crate) fn format_number_pad_zero<const WIDTH: u8>(
143
147
///
144
148
/// If the sign is mandatory, the sign must be written by the caller.
145
149
pub ( crate ) fn format_number_pad_none (
146
- output : & mut impl io:: Write ,
150
+ output : & mut ( impl io:: Write + ? Sized ) ,
147
151
value : impl itoa:: Integer + Copy ,
148
152
) -> Result < usize , io:: Error > {
149
153
write ( output, itoa:: Buffer :: new ( ) . format ( value) . as_bytes ( ) )
@@ -153,7 +157,7 @@ pub(crate) fn format_number_pad_none(
153
157
/// component requires information that it does not provide or if the value cannot be output to the
154
158
/// stream.
155
159
pub ( crate ) fn format_component (
156
- output : & mut impl io:: Write ,
160
+ output : & mut ( impl io:: Write + ? Sized ) ,
157
161
component : Component ,
158
162
date : Option < Date > ,
159
163
time : Option < Time > ,
@@ -198,7 +202,7 @@ pub(crate) fn format_component(
198
202
// region: date formatters
199
203
/// Format the day into the designated output.
200
204
fn fmt_day (
201
- output : & mut impl io:: Write ,
205
+ output : & mut ( impl io:: Write + ? Sized ) ,
202
206
date : Date ,
203
207
modifier:: Day { padding } : modifier:: Day ,
204
208
) -> Result < usize , io:: Error > {
@@ -207,7 +211,7 @@ fn fmt_day(
207
211
208
212
/// Format the month into the designated output.
209
213
fn fmt_month (
210
- output : & mut impl io:: Write ,
214
+ output : & mut ( impl io:: Write + ? Sized ) ,
211
215
date : Date ,
212
216
modifier:: Month {
213
217
padding,
@@ -232,7 +236,7 @@ fn fmt_month(
232
236
233
237
/// Format the ordinal into the designated output.
234
238
fn fmt_ordinal (
235
- output : & mut impl io:: Write ,
239
+ output : & mut ( impl io:: Write + ? Sized ) ,
236
240
date : Date ,
237
241
modifier:: Ordinal { padding } : modifier:: Ordinal ,
238
242
) -> Result < usize , io:: Error > {
@@ -241,7 +245,7 @@ fn fmt_ordinal(
241
245
242
246
/// Format the weekday into the designated output.
243
247
fn fmt_weekday (
244
- output : & mut impl io:: Write ,
248
+ output : & mut ( impl io:: Write + ? Sized ) ,
245
249
date : Date ,
246
250
modifier:: Weekday {
247
251
repr,
@@ -273,7 +277,7 @@ fn fmt_weekday(
273
277
274
278
/// Format the week number into the designated output.
275
279
fn fmt_week_number (
276
- output : & mut impl io:: Write ,
280
+ output : & mut ( impl io:: Write + ? Sized ) ,
277
281
date : Date ,
278
282
modifier:: WeekNumber { padding, repr } : modifier:: WeekNumber ,
279
283
) -> Result < usize , io:: Error > {
@@ -290,7 +294,7 @@ fn fmt_week_number(
290
294
291
295
/// Format the year into the designated output.
292
296
fn fmt_year (
293
- output : & mut impl io:: Write ,
297
+ output : & mut ( impl io:: Write + ? Sized ) ,
294
298
date : Date ,
295
299
modifier:: Year {
296
300
padding,
@@ -356,7 +360,7 @@ fn fmt_year(
356
360
// region: time formatters
357
361
/// Format the hour into the designated output.
358
362
fn fmt_hour (
359
- output : & mut impl io:: Write ,
363
+ output : & mut ( impl io:: Write + ? Sized ) ,
360
364
time : Time ,
361
365
modifier:: Hour {
362
366
padding,
@@ -374,7 +378,7 @@ fn fmt_hour(
374
378
375
379
/// Format the minute into the designated output.
376
380
fn fmt_minute (
377
- output : & mut impl io:: Write ,
381
+ output : & mut ( impl io:: Write + ? Sized ) ,
378
382
time : Time ,
379
383
modifier:: Minute { padding } : modifier:: Minute ,
380
384
) -> Result < usize , io:: Error > {
@@ -383,7 +387,7 @@ fn fmt_minute(
383
387
384
388
/// Format the period into the designated output.
385
389
fn fmt_period (
386
- output : & mut impl io:: Write ,
390
+ output : & mut ( impl io:: Write + ? Sized ) ,
387
391
time : Time ,
388
392
modifier:: Period {
389
393
is_uppercase,
@@ -400,16 +404,16 @@ fn fmt_period(
400
404
401
405
/// Format the second into the designated output.
402
406
fn fmt_second (
403
- output : & mut impl io:: Write ,
407
+ output : & mut ( impl io:: Write + ? Sized ) ,
404
408
time : Time ,
405
409
modifier:: Second { padding } : modifier:: Second ,
406
410
) -> Result < usize , io:: Error > {
407
411
format_number :: < 2 > ( output, time. second ( ) , padding)
408
412
}
409
413
410
414
/// Format the subsecond into the designated output.
411
- fn fmt_subsecond < W : io :: Write > (
412
- output : & mut W ,
415
+ fn fmt_subsecond (
416
+ output : & mut ( impl io :: Write + ? Sized ) ,
413
417
time : Time ,
414
418
modifier:: Subsecond { digits } : modifier:: Subsecond ,
415
419
) -> Result < usize , io:: Error > {
@@ -441,7 +445,7 @@ fn fmt_subsecond<W: io::Write>(
441
445
// region: offset formatters
442
446
/// Format the offset hour into the designated output.
443
447
fn fmt_offset_hour (
444
- output : & mut impl io:: Write ,
448
+ output : & mut ( impl io:: Write + ? Sized ) ,
445
449
offset : UtcOffset ,
446
450
modifier:: OffsetHour {
447
451
padding,
@@ -460,7 +464,7 @@ fn fmt_offset_hour(
460
464
461
465
/// Format the offset minute into the designated output.
462
466
fn fmt_offset_minute (
463
- output : & mut impl io:: Write ,
467
+ output : & mut ( impl io:: Write + ? Sized ) ,
464
468
offset : UtcOffset ,
465
469
modifier:: OffsetMinute { padding } : modifier:: OffsetMinute ,
466
470
) -> Result < usize , io:: Error > {
@@ -469,7 +473,7 @@ fn fmt_offset_minute(
469
473
470
474
/// Format the offset second into the designated output.
471
475
fn fmt_offset_second (
472
- output : & mut impl io:: Write ,
476
+ output : & mut ( impl io:: Write + ? Sized ) ,
473
477
offset : UtcOffset ,
474
478
modifier:: OffsetSecond { padding } : modifier:: OffsetSecond ,
475
479
) -> Result < usize , io:: Error > {
@@ -479,7 +483,7 @@ fn fmt_offset_second(
479
483
480
484
/// Format the Unix timestamp into the designated output.
481
485
fn fmt_unix_timestamp (
482
- output : & mut impl io:: Write ,
486
+ output : & mut ( impl io:: Write + ? Sized ) ,
483
487
date : Date ,
484
488
time : Time ,
485
489
offset : UtcOffset ,
0 commit comments