collections: update docs of slice get() and friends

for the new SliceIndex trait.  Also made the docs of the unchecked
versions a bit clearer; they return a reference, not an "unsafe
pointer".
This commit is contained in:
Georg Brandl 2016-12-07 10:14:46 +01:00 committed by Georg Brandl
parent be1daa4a18
commit 871357a534

View file

@ -342,15 +342,22 @@ pub fn last_mut(&mut self) -> Option<&mut T> {
core_slice::SliceExt::last_mut(self)
}
/// Returns the element of a slice at the given index, or `None` if the
/// index is out of bounds.
/// Returns a reference to an element or subslice depending on the type of
/// index.
///
/// - If given a position, returns a reference to the element at that
/// position or `None` if out of bounds.
/// - If given a range, returns the subslice corresponding to that range,
/// or `None` if out of bounds.
///
/// # Examples
///
/// ```
/// let v = [10, 40, 30];
/// assert_eq!(Some(&40), v.get(1));
/// assert_eq!(Some(&[10, 40][..]), v.get(0..2));
/// assert_eq!(None, v.get(3));
/// assert_eq!(None, v.get(0..4));
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
#[inline]
@ -360,7 +367,10 @@ pub fn get<I>(&self, index: I) -> Option<&I::Output>
core_slice::SliceExt::get(self, index)
}
/// Returns a mutable reference to the element at the given index.
/// Returns a mutable reference to an element or subslice depending on the
/// type of index (see [`get()`]) or `None` if the index is out of bounds.
///
/// [`get()`]: #method.get
///
/// # Examples
///
@ -372,7 +382,6 @@ pub fn get<I>(&self, index: I) -> Option<&I::Output>
/// }
/// assert_eq!(x, &[0, 42, 2]);
/// ```
/// or `None` if the index is out of bounds
#[stable(feature = "rust1", since = "1.0.0")]
#[inline]
pub fn get_mut<I>(&mut self, index: I) -> Option<&mut I::Output>
@ -381,8 +390,8 @@ pub fn get_mut<I>(&mut self, index: I) -> Option<&mut I::Output>
core_slice::SliceExt::get_mut(self, index)
}
/// Returns a pointer to the element at the given index, without doing
/// bounds checking. So use it very carefully!
/// Returns a reference to an element or subslice, without doing bounds
/// checking. So use it very carefully!
///
/// # Examples
///
@ -401,8 +410,8 @@ pub unsafe fn get_unchecked<I>(&self, index: I) -> &I::Output
core_slice::SliceExt::get_unchecked(self, index)
}
/// Returns an unsafe mutable pointer to the element in index. So use it
/// very carefully!
/// Returns a mutable reference to an element or subslice, without doing
/// bounds checking. So use it very carefully!
///
/// # Examples
///