@@ -350,7 +350,7 @@ impl<const N: usize> String<N> {
350
350
/// ```
351
351
/// use heapless::String;
352
352
///
353
- /// let mut s: String<8> = String::from ("foo");
353
+ /// let mut s: String<8> = String::try_from ("foo").unwrap( );
354
354
///
355
355
/// assert_eq!(s.remove(0), 'f');
356
356
/// assert_eq!(s.remove(1), 'o');
@@ -365,12 +365,9 @@ impl<const N: usize> String<N> {
365
365
366
366
let next = index + ch. len_utf8 ( ) ;
367
367
let len = self . len ( ) ;
368
+ let ptr = self . vec . as_mut_ptr ( ) ;
368
369
unsafe {
369
- core:: ptr:: copy (
370
- self . vec . as_ptr ( ) . add ( next) ,
371
- self . vec . as_mut_ptr ( ) . add ( index) ,
372
- len - next,
373
- ) ;
370
+ core:: ptr:: copy ( ptr. add ( next) , ptr. add ( index) , len - next) ;
374
371
self . vec . set_len ( len - ( next - index) ) ;
375
372
}
376
373
ch
@@ -842,14 +839,14 @@ mod tests {
842
839
843
840
#[ test]
844
841
fn remove ( ) {
845
- let mut s: String < 8 > = String :: from ( "foo" ) ;
842
+ let mut s: String < 8 > = String :: try_from ( "foo" ) . unwrap ( ) ;
846
843
assert_eq ! ( s. remove( 0 ) , 'f' ) ;
847
844
assert_eq ! ( s. as_str( ) , "oo" ) ;
848
845
}
849
846
850
847
#[ test]
851
848
fn remove_uenc ( ) {
852
- let mut s: String < 8 > = String :: from ( "ĝėēƶ" ) ;
849
+ let mut s: String < 8 > = String :: try_from ( "ĝėēƶ" ) . unwrap ( ) ;
853
850
assert_eq ! ( s. remove( 2 ) , 'ė' ) ;
854
851
assert_eq ! ( s. remove( 2 ) , 'ē' ) ;
855
852
assert_eq ! ( s. remove( 2 ) , 'ƶ' ) ;
@@ -858,7 +855,7 @@ mod tests {
858
855
859
856
#[ test]
860
857
fn remove_uenc_combo_characters ( ) {
861
- let mut s: String < 8 > = String :: from ( "héy" ) ;
858
+ let mut s: String < 8 > = String :: try_from ( "héy" ) . unwrap ( ) ;
862
859
assert_eq ! ( s. remove( 2 ) , '\u{0301}' ) ;
863
860
assert_eq ! ( s. as_str( ) , "hey" ) ;
864
861
}
0 commit comments