Rollup merge of #121343 - Takashiidobe:takashi/examples-for-slice, r=Mark-Simulacrum

Add examples for some methods on slices

Adds some examples to some methods on slice.

`is_empty` didn't have an example for an empty slice, even though `str` and the collections all have one, so I added that in.

`first_mut` and `last_mut` didn't have an example for what happens when the slice is empty, whereas `first` and `last` do, so I added that too.
This commit is contained in:
Matthias Krüger 2024-02-24 22:38:58 +01:00 committed by GitHub
commit ed75229a97
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -146,6 +146,9 @@ impl<T> [T] {
/// ```
/// let a = [1, 2, 3];
/// assert!(!a.is_empty());
///
/// let b: &[i32] = &[];
/// assert!(b.is_empty());
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_stable(feature = "const_slice_is_empty", since = "1.39.0")]
@ -185,6 +188,9 @@ impl<T> [T] {
/// *first = 5;
/// }
/// assert_eq!(x, &[5, 1, 2]);
///
/// let y: &mut [i32] = &mut [];
/// assert_eq!(None, y.first_mut());
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_slice_first_last", issue = "83570")]
@ -297,7 +303,7 @@ impl<T> [T] {
if let [.., last] = self { Some(last) } else { None }
}
/// Returns a mutable reference to the last item in the slice.
/// Returns a mutable reference to the last item in the slice, or `None` if it is empty.
///
/// # Examples
///
@ -308,6 +314,9 @@ impl<T> [T] {
/// *last = 10;
/// }
/// assert_eq!(x, &[0, 1, 10]);
///
/// let y: &mut [i32] = &mut [];
/// assert_eq!(None, y.last_mut());
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_slice_first_last", issue = "83570")]