@@ -301,7 +301,7 @@ pub fn from_utf8(v: &[u8]) -> Result<&str, Utf8Error> {
301
301
}
302
302
303
303
/// Converts a mutable slice of bytes to a mutable string slice.
304
- #[ unstable ( feature = "str_mut_extras" , issue = "41119 " ) ]
304
+ #[ stable ( feature = "str_mut_extras" , since = "1.20.0 " ) ]
305
305
pub fn from_utf8_mut ( v : & mut [ u8 ] ) -> Result < & mut str , Utf8Error > {
306
306
run_utf8_validation ( v) ?;
307
307
Ok ( unsafe { from_utf8_unchecked_mut ( v) } )
@@ -382,7 +382,7 @@ pub unsafe fn from_utf8_unchecked(v: &[u8]) -> &str {
382
382
///
383
383
/// [fromutf8]: fn.from_utf8_unchecked.html
384
384
#[ inline]
385
- #[ unstable ( feature = "str_mut_extras" , issue = "41119 " ) ]
385
+ #[ stable ( feature = "str_mut_extras" , since = "1.20.0 " ) ]
386
386
pub unsafe fn from_utf8_unchecked_mut ( v : & mut [ u8 ] ) -> & mut str {
387
387
mem:: transmute ( v)
388
388
}
@@ -2123,7 +2123,7 @@ pub trait StrExt {
2123
2123
fn is_char_boundary ( & self , index : usize ) -> bool ;
2124
2124
#[ stable( feature = "core" , since = "1.6.0" ) ]
2125
2125
fn as_bytes ( & self ) -> & [ u8 ] ;
2126
- #[ unstable ( feature = "str_mut_extras" , issue = "41119 " ) ]
2126
+ #[ stable ( feature = "str_mut_extras" , since = "1.20.0 " ) ]
2127
2127
unsafe fn as_bytes_mut ( & mut self ) -> & mut [ u8 ] ;
2128
2128
#[ stable( feature = "core" , since = "1.6.0" ) ]
2129
2129
fn find < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> Option < usize > ;
0 commit comments