@@ -99,7 +99,7 @@ impl String {
9999 ///
100100 /// ```rust
101101 /// let input = b"Hello \xF0\x90\x80World";
102- /// let output = std::str ::from_utf8_lossy(input);
102+ /// let output = String ::from_utf8_lossy(input);
103103 /// assert_eq!(output.as_slice(), "Hello \uFFFDWorld");
104104 /// ```
105105 pub fn from_utf8_lossy < ' a > ( v : & ' a [ u8 ] ) -> MaybeOwned < ' a > {
@@ -218,18 +218,18 @@ impl String {
218218 Owned ( res. into_string ( ) )
219219 }
220220
221- /// Decode a UTF-16 encoded vector `v` into a string , returning `None`
221+ /// Decode a UTF-16 encoded vector `v` into a `String` , returning `None`
222222 /// if `v` contains any invalid data.
223223 ///
224224 /// # Example
225225 ///
226226 /// ```rust
227- /// // ð„žmusic
227+ /// // 𝄞music
228228 /// let mut v = [0xD834, 0xDD1E, 0x006d, 0x0075,
229229 /// 0x0073, 0x0069, 0x0063];
230- /// assert_eq!(String::from_utf16(v), Some("ð„žmusic ".to_string()));
230+ /// assert_eq!(String::from_utf16(v), Some("𝄞music ".to_string()));
231231 ///
232- /// // ð„žmu <invalid>ic
232+ /// // 𝄞mu <invalid>ic
233233 /// v[4] = 0xD800;
234234 /// assert_eq!(String::from_utf16(v), None);
235235 /// ```
@@ -249,13 +249,13 @@ impl String {
249249 ///
250250 /// # Example
251251 /// ```rust
252- /// // ð„žmus <invalid>ic<invalid>
252+ /// // 𝄞mus <invalid>ic<invalid>
253253 /// let v = [0xD834, 0xDD1E, 0x006d, 0x0075,
254254 /// 0x0073, 0xDD1E, 0x0069, 0x0063,
255255 /// 0xD834];
256256 ///
257257 /// assert_eq!(String::from_utf16_lossy(v),
258- /// "ð„žmus \uFFFDic\uFFFD".to_string());
258+ /// "𝄞mus \uFFFDic\uFFFD".to_string());
259259 /// ```
260260 pub fn from_utf16_lossy ( v : & [ u16 ] ) -> String {
261261 str:: utf16_items ( v) . map ( |c| c. to_char_lossy ( ) ) . collect ( )
@@ -575,8 +575,9 @@ mod tests {
575575
576576 use Mutable ;
577577 use str;
578- use str:: { Str , StrSlice , MaybeOwned , Owned , Slice } ;
578+ use str:: { Str , StrSlice , Owned , Slice } ;
579579 use super :: String ;
580+ use vec:: Vec ;
580581
581582 #[ test]
582583 fn test_from_str ( ) {
@@ -587,10 +588,10 @@ mod tests {
587588 #[ test]
588589 fn test_from_utf8 ( ) {
589590 let xs = Vec :: from_slice ( b"hello" ) ;
590- assert_eq ! ( String :: from_utf8( xs) , Ok ( "hello" . to_string ( ) ) ) ;
591+ assert_eq ! ( String :: from_utf8( xs) , Ok ( String :: from_str ( "hello" ) ) ) ;
591592
592- let xs = Vec :: from_slice ( "ศไทยä¸åŽViệt Nam" . as_bytes ( ) ) ;
593- assert_eq ! ( String :: from_utf8( xs) , Ok ( "ศไทยä¸åŽViệt Nam". to_string ( ) ) ) ;
593+ let xs = Vec :: from_slice ( "ศไทย中华Việt Nam" . as_bytes ( ) ) ;
594+ assert_eq ! ( String :: from_utf8( xs) , Ok ( String :: from_str ( "ศไทย中华Việt Nam") ) ) ;
594595
595596 let xs = Vec :: from_slice ( b"hello\xFF " ) ;
596597 assert_eq ! ( String :: from_utf8( xs) ,
@@ -602,21 +603,24 @@ mod tests {
602603 let xs = b"hello" ;
603604 assert_eq ! ( String :: from_utf8_lossy( xs) , Slice ( "hello" ) ) ;
604605
605- let xs = "ศไทยä¸åŽViệt Nam" . as_bytes ( ) ;
606- assert_eq ! ( String :: from_utf8_lossy( xs) , Slice ( "ศไทยä¸åŽViệt Nam" ) ) ;
606+ let xs = "ศไทย中华Việt Nam" . as_bytes ( ) ;
607+ assert_eq ! ( String :: from_utf8_lossy( xs) , Slice ( "ศไทย中华Việt Nam" ) ) ;
607608
608609 let xs = b"Hello\xC2 There\xFF Goodbye" ;
609- assert_eq ! ( String :: from_utf8_lossy( xs) , Owned ( String :: from_str( "Hello\uFFFD There\uFFFD Goodbye" ) ) ) ;
610+ assert_eq ! ( String :: from_utf8_lossy( xs) ,
611+ Owned ( String :: from_str( "Hello\uFFFD There\uFFFD Goodbye" ) ) ) ;
610612
611613 let xs = b"Hello\xC0 \x80 There\xE6 \x83 Goodbye" ;
612614 assert_eq ! ( String :: from_utf8_lossy( xs) ,
613615 Owned ( String :: from_str( "Hello\uFFFD \uFFFD There\uFFFD Goodbye" ) ) ) ;
614616
615617 let xs = b"\xF5 foo\xF5 \x80 bar" ;
616- assert_eq ! ( String :: from_utf8_lossy( xs) , Owned ( String :: from_str( "\uFFFD foo\uFFFD \uFFFD bar" ) ) ) ;
618+ assert_eq ! ( String :: from_utf8_lossy( xs) ,
619+ Owned ( String :: from_str( "\uFFFD foo\uFFFD \uFFFD bar" ) ) ) ;
617620
618621 let xs = b"\xF1 foo\xF1 \x80 bar\xF1 \x80 \x80 baz" ;
619- assert_eq ! ( String :: from_utf8_lossy( xs) , Owned ( String :: from_str( "\uFFFD foo\uFFFD bar\uFFFD baz" ) ) ) ;
622+ assert_eq ! ( String :: from_utf8_lossy( xs) ,
623+ Owned ( String :: from_str( "\uFFFD foo\uFFFD bar\uFFFD baz" ) ) ) ;
620624
621625 let xs = b"\xF4 foo\xF4 \x80 bar\xF4 \xBF baz" ;
622626 assert_eq ! ( String :: from_utf8_lossy( xs) ,
@@ -635,21 +639,21 @@ mod tests {
635639 #[ test]
636640 fn test_from_utf16 ( ) {
637641 let pairs =
638- [ ( String :: from_str ( "ð…ðŒ¿ðŒ»ð†ðŒ¹ðŒ»ðŒ° \n " ) ,
642+ [ ( String :: from_str ( "𐍅𐌿𐌻𐍆𐌹𐌻𐌰 \n " ) ,
639643 vec ! [ 0xd800_u16 , 0xdf45_u16 , 0xd800_u16 , 0xdf3f_u16 ,
640644 0xd800_u16 , 0xdf3b_u16 , 0xd800_u16 , 0xdf46_u16 ,
641645 0xd800_u16 , 0xdf39_u16 , 0xd800_u16 , 0xdf3b_u16 ,
642646 0xd800_u16 , 0xdf30_u16 , 0x000a_u16 ] ) ,
643647
644- ( String :: from_str ( "ð’ð‘‰ð®ð‘€ð²ð‘‹ ðð²ð‘ \n " ) ,
648+ ( String :: from_str ( "𐐒𐑉𐐮𐑀𐐲𐑋 𐐏𐐲𐑍 \n " ) ,
645649 vec ! [ 0xd801_u16 , 0xdc12_u16 , 0xd801_u16 ,
646650 0xdc49_u16 , 0xd801_u16 , 0xdc2e_u16 , 0xd801_u16 ,
647651 0xdc40_u16 , 0xd801_u16 , 0xdc32_u16 , 0xd801_u16 ,
648652 0xdc4b_u16 , 0x0020_u16 , 0xd801_u16 , 0xdc0f_u16 ,
649653 0xd801_u16 , 0xdc32_u16 , 0xd801_u16 , 0xdc4d_u16 ,
650654 0x000a_u16 ] ) ,
651655
652- ( String :: from_str ( "ðŒ€ðŒ–ðŒ‹ðŒ„ðŒ‘ðŒ‰Â·ðŒŒðŒ„ðŒ•ðŒ„ðŒ‹ðŒ‰ðŒ‘ \n " ) ,
656+ ( String :: from_str ( "𐌀𐌖𐌋𐌄𐌑𐌉·𐌌𐌄𐌕𐌄𐌋𐌉𐌑 \n " ) ,
653657 vec ! [ 0xd800_u16 , 0xdf00_u16 , 0xd800_u16 , 0xdf16_u16 ,
654658 0xd800_u16 , 0xdf0b_u16 , 0xd800_u16 , 0xdf04_u16 ,
655659 0xd800_u16 , 0xdf11_u16 , 0xd800_u16 , 0xdf09_u16 ,
@@ -658,7 +662,7 @@ mod tests {
658662 0xdf04_u16 , 0xd800_u16 , 0xdf0b_u16 , 0xd800_u16 ,
659663 0xdf09_u16 , 0xd800_u16 , 0xdf11_u16 , 0x000a_u16 ] ) ,
660664
661- ( String :: from_str ( "ð’‹ð’˜ð’ˆð’‘ð’›ð’’ ð’•ð’“ ð’ˆð’šð’ ð’ð’œð’’ð’–ð’† ð’•ð’† \n " ) ,
665+ ( String :: from_str ( "𐒋𐒘𐒈𐒑𐒛𐒒 𐒕𐒓 𐒈𐒚𐒍 𐒏𐒜𐒒𐒖𐒆 𐒕𐒆 \n " ) ,
662666 vec ! [ 0xd801_u16 , 0xdc8b_u16 , 0xd801_u16 , 0xdc98_u16 ,
663667 0xd801_u16 , 0xdc88_u16 , 0xd801_u16 , 0xdc91_u16 ,
664668 0xd801_u16 , 0xdc9b_u16 , 0xd801_u16 , 0xdc92_u16 ,
@@ -718,7 +722,7 @@ mod tests {
718722
719723 // general
720724 assert_eq ! ( String :: from_utf16_lossy( [ 0xD800 , 0xd801 , 0xdc8b , 0xD800 ] ) ,
721- String :: from_str( "\uFFFD ð’‹ \uFFFD " ) ) ;
725+ String :: from_str( "\uFFFD 𐒋 \uFFFD " ) ) ;
722726 }
723727
724728 #[ test]
@@ -852,7 +856,8 @@ mod tests {
852856
853857 #[ bench]
854858 fn from_utf8_lossy_100_multibyte ( b : & mut Bencher ) {
855- let s = "ðŒ€ðŒ–ðŒ‹ðŒ„ðŒ‘ðŒ‰à¸›à¸£Ø¯ÙˆÙ„Ø© الكويتทศไทยä¸åŽð…ðŒ¿ðŒ»ð†ðŒ¹ðŒ»ðŒ°" . as_bytes ( ) ;
859+ let s = "ðŒ€ðŒ–ðŒ‹ðŒ„ðŒ‘ðŒ‰à¸›à¸£Ø¯ÙˆÙ„Ø©\
860+ الكويتทศไทยä¸åŽð…ðŒ¿ðŒ»ð†ðŒ¹ðŒ»ðŒ°". as_bytes ( ) ;
856861 assert_eq ! ( 100 , s. len( ) ) ;
857862 b. iter ( || {
858863 let _ = String :: from_utf8_lossy ( s) ;
0 commit comments