@@ -20,7 +20,7 @@ macro_rules! write_double_digit {
2020 if $value < 10 {
2121 $dt. push( ZERO ) ;
2222 }
23- $dt. extend ( itoa:: Buffer :: new( ) . format( $value) . bytes ( ) ) ;
23+ $dt. extend_from_slice ( itoa:: Buffer :: new( ) . format( $value) . as_bytes ( ) ) ;
2424 } ;
2525}
2626
@@ -30,12 +30,8 @@ macro_rules! write_microsecond {
3030 $dt. push( PERIOD ) ;
3131 let mut buf = itoa:: Buffer :: new( ) ;
3232 let formatted = buf. format( $microsecond) ;
33- let mut to_pad = 6 - formatted. len( ) ;
34- while to_pad != 0 {
35- $dt. push( ZERO ) ;
36- to_pad -= 1 ;
37- }
38- $dt. extend( formatted. bytes( ) ) ;
33+ $dt. extend_from_slice( & [ ZERO ; 6 ] [ ..( 6 - formatted. len( ) ) ] ) ;
34+ $dt. extend_from_slice( formatted. as_bytes( ) ) ;
3935 }
4036 } ;
4137}
@@ -107,10 +103,10 @@ pub fn write_datetime(
107103 }
108104 } ;
109105
110- dt. extend (
106+ dt. extend_from_slice (
111107 itoa:: Buffer :: new ( )
112108 . format ( ffi ! ( PyDateTime_GET_YEAR ( ptr) ) as i32 )
113- . bytes ( ) ,
109+ . as_bytes ( ) ,
114110 ) ;
115111 dt. push ( HYPHEN ) ;
116112 {
@@ -146,7 +142,7 @@ pub fn write_datetime(
146142 if opts & UTC_Z == UTC_Z {
147143 dt. push ( Z ) ;
148144 } else {
149- dt. extend ( [ PLUS , ZERO , ZERO , COLON , ZERO , ZERO ] . iter ( ) . cloned ( ) ) ;
145+ dt. extend_from_slice ( & [ PLUS , ZERO , ZERO , COLON , ZERO , ZERO ] ) ;
150146 }
151147 } else {
152148 if offset_day == -1 {
@@ -163,7 +159,7 @@ pub fn write_datetime(
163159 if offset_hour < 10 {
164160 dt. push ( ZERO ) ;
165161 }
166- dt. extend ( itoa:: Buffer :: new ( ) . format ( offset_hour) . bytes ( ) ) ;
162+ dt. extend_from_slice ( itoa:: Buffer :: new ( ) . format ( offset_hour) . as_bytes ( ) ) ;
167163 dt. push ( COLON ) ;
168164
169165 let mut offset_minute_print = offset_minute % 60 ;
@@ -183,7 +179,7 @@ pub fn write_datetime(
183179 if offset_minute_print < 10 {
184180 dt. push ( ZERO ) ;
185181 }
186- dt. extend ( itoa:: Buffer :: new ( ) . format ( offset_minute_print) . bytes ( ) ) ;
182+ dt. extend_from_slice ( itoa:: Buffer :: new ( ) . format ( offset_minute_print) . as_bytes ( ) ) ;
187183 }
188184 }
189185 }
@@ -194,7 +190,7 @@ pub fn write_datetime(
194190pub fn write_date ( ptr : * mut pyo3:: ffi:: PyObject , dt : & mut SmallVec < [ u8 ; 32 ] > ) {
195191 {
196192 let year = ffi ! ( PyDateTime_GET_YEAR ( ptr) ) as i32 ;
197- dt. extend ( itoa:: Buffer :: new ( ) . format ( year) . bytes ( ) ) ;
193+ dt. extend_from_slice ( itoa:: Buffer :: new ( ) . format ( year) . as_bytes ( ) ) ;
198194 }
199195 dt. push ( HYPHEN ) ;
200196 {
0 commit comments