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 @@ -482,11 +482,14 @@ impl<'de> Deserializer<'de> {
482
482
}
483
483
484
484
unsafe {
485
- input_buffer
486
- . as_mut_slice ( )
487
- . get_kinda_unchecked_mut ( ..len)
488
- . clone_from_slice ( input) ;
489
- * ( input_buffer. get_kinda_unchecked_mut ( len) ) = 0 ;
485
+ std:: ptr:: copy_nonoverlapping (
486
+ input. as_ptr ( ) ,
487
+ input_buffer. as_mut_ptr ( ) ,
488
+ len,
489
+ ) ;
490
+
491
+ input_buffer. as_mut_ptr ( ) . add ( len) . write ( 0 ) ;
492
+
490
493
input_buffer. set_len ( len) ;
491
494
} ;
492
495
@@ -720,15 +723,16 @@ impl AlignedBuf {
720
723
}
721
724
}
722
725
726
+ fn as_mut_ptr ( & mut self ) -> * mut u8 {
727
+ self . inner . as_ptr ( )
728
+ }
729
+
723
730
fn capacity_overflow ( ) -> ! {
724
731
panic ! ( "capacity overflow" ) ;
725
732
}
726
733
fn capacity ( & self ) -> usize {
727
734
self . capacity
728
735
}
729
- fn as_mut_slice ( & mut self ) -> & mut [ u8 ] {
730
- unsafe { std:: slice:: from_raw_parts_mut ( self . inner . as_ptr ( ) , self . len ) }
731
- }
732
736
unsafe fn set_len ( & mut self , n : usize ) {
733
737
assert ! (
734
738
n <= self . capacity,
You can’t perform that action at this time.
0 commit comments