File tree Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -479,11 +479,14 @@ impl<'de> Deserializer<'de> {
479
479
}
480
480
481
481
unsafe {
482
- input_buffer
483
- . as_mut_slice ( )
484
- . get_kinda_unchecked_mut ( ..len)
485
- . clone_from_slice ( input) ;
486
- * ( input_buffer. get_kinda_unchecked_mut ( len) ) = 0 ;
482
+ std:: ptr:: copy_nonoverlapping (
483
+ input. as_ptr ( ) ,
484
+ input_buffer. as_mut_ptr ( ) ,
485
+ len,
486
+ ) ;
487
+
488
+ input_buffer. as_mut_ptr ( ) . add ( len) . write ( 0 ) ;
489
+
487
490
input_buffer. set_len ( len) ;
488
491
} ;
489
492
@@ -717,15 +720,16 @@ impl AlignedBuf {
717
720
}
718
721
}
719
722
723
+ fn as_mut_ptr ( & mut self ) -> * mut u8 {
724
+ self . inner . as_ptr ( )
725
+ }
726
+
720
727
fn capacity_overflow ( ) -> ! {
721
728
panic ! ( "capacity overflow" ) ;
722
729
}
723
730
fn capacity ( & self ) -> usize {
724
731
self . capacity
725
732
}
726
- fn as_mut_slice ( & mut self ) -> & mut [ u8 ] {
727
- unsafe { std:: slice:: from_raw_parts_mut ( self . inner . as_ptr ( ) , self . len ) }
728
- }
729
733
unsafe fn set_len ( & mut self , n : usize ) {
730
734
assert ! (
731
735
n <= self . capacity,
You can’t perform that action at this time.
0 commit comments