@@ -290,7 +290,7 @@ impl str {
290290 }
291291
292292 /// Converts a mutable string slice to a mutable byte slice.
293- #[ unstable ( feature = "str_mut_extras" , issue = "41119 " ) ]
293+ #[ stable ( feature = "str_mut_extras" , since = "1.20.0 " ) ]
294294 #[ inline( always) ]
295295 pub unsafe fn as_bytes_mut ( & mut self ) -> & mut [ u8 ] {
296296 core_str:: StrExt :: as_bytes_mut ( self )
@@ -328,14 +328,13 @@ impl str {
328328 /// # Examples
329329 ///
330330 /// ```
331- /// # #![feature(str_checked_slicing)]
332331 /// let v = "🗻∈🌏";
333332 /// assert_eq!(Some("🗻"), v.get(0..4));
334333 /// assert!(v.get(1..).is_none());
335334 /// assert!(v.get(..8).is_none());
336335 /// assert!(v.get(..42).is_none());
337336 /// ```
338- #[ unstable ( feature = "str_checked_slicing" , issue = "39932 " ) ]
337+ #[ stable ( feature = "str_checked_slicing" , since = "1.20.0 " ) ]
339338 #[ inline]
340339 pub fn get < I : SliceIndex < str > > ( & self , i : I ) -> Option < & I :: Output > {
341340 core_str:: StrExt :: get ( self , i)
@@ -351,14 +350,13 @@ impl str {
351350 /// # Examples
352351 ///
353352 /// ```
354- /// # #![feature(str_checked_slicing)]
355353 /// let mut v = String::from("🗻∈🌏");
356354 /// assert_eq!(Some("🗻"), v.get_mut(0..4).map(|v| &*v));
357355 /// assert!(v.get_mut(1..).is_none());
358356 /// assert!(v.get_mut(..8).is_none());
359357 /// assert!(v.get_mut(..42).is_none());
360358 /// ```
361- #[ unstable ( feature = "str_checked_slicing" , issue = "39932 " ) ]
359+ #[ stable ( feature = "str_checked_slicing" , since = "1.20.0 " ) ]
362360 #[ inline]
363361 pub fn get_mut < I : SliceIndex < str > > ( & mut self , i : I ) -> Option < & mut I :: Output > {
364362 core_str:: StrExt :: get_mut ( self , i)
@@ -383,15 +381,14 @@ impl str {
383381 /// # Examples
384382 ///
385383 /// ```
386- /// # #![feature(str_checked_slicing)]
387384 /// let v = "🗻∈🌏";
388385 /// unsafe {
389386 /// assert_eq!("🗻", v.get_unchecked(0..4));
390387 /// assert_eq!("∈", v.get_unchecked(4..7));
391388 /// assert_eq!("🌏", v.get_unchecked(7..11));
392389 /// }
393390 /// ```
394- #[ unstable ( feature = "str_checked_slicing" , issue = "39932 " ) ]
391+ #[ stable ( feature = "str_checked_slicing" , since = "1.20.0 " ) ]
395392 #[ inline]
396393 pub unsafe fn get_unchecked < I : SliceIndex < str > > ( & self , i : I ) -> & I :: Output {
397394 core_str:: StrExt :: get_unchecked ( self , i)
@@ -416,15 +413,14 @@ impl str {
416413 /// # Examples
417414 ///
418415 /// ```
419- /// # #![feature(str_checked_slicing)]
420416 /// let mut v = String::from("🗻∈🌏");
421417 /// unsafe {
422418 /// assert_eq!("🗻", v.get_unchecked_mut(0..4));
423419 /// assert_eq!("∈", v.get_unchecked_mut(4..7));
424420 /// assert_eq!("🌏", v.get_unchecked_mut(7..11));
425421 /// }
426422 /// ```
427- #[ unstable ( feature = "str_checked_slicing" , issue = "39932 " ) ]
423+ #[ stable ( feature = "str_checked_slicing" , since = "1.20.0 " ) ]
428424 #[ inline]
429425 pub unsafe fn get_unchecked_mut < I : SliceIndex < str > > ( & mut self , i : I ) -> & mut I :: Output {
430426 core_str:: StrExt :: get_unchecked_mut ( self , i)
@@ -1729,7 +1725,7 @@ impl str {
17291725 }
17301726
17311727 /// Converts a `Box<str>` into a `Box<[u8]>` without copying or allocating.
1732- #[ unstable ( feature = "str_box_extras" , issue = "41119 " ) ]
1728+ #[ stable ( feature = "str_box_extras" , since = "1.20.0 " ) ]
17331729 pub fn into_boxed_bytes ( self : Box < str > ) -> Box < [ u8 ] > {
17341730 self . into ( )
17351731 }
@@ -1996,7 +1992,7 @@ impl str {
19961992
19971993/// Converts a boxed slice of bytes to a boxed string slice without checking
19981994/// that the string contains valid UTF-8.
1999- #[ unstable ( feature = "str_box_extras" , issue = "41119 " ) ]
1995+ #[ stable ( feature = "str_box_extras" , since = "1.20.0 " ) ]
20001996pub unsafe fn from_boxed_utf8_unchecked ( v : Box < [ u8 ] > ) -> Box < str > {
20011997 mem:: transmute ( v)
20021998}
0 commit comments