Improve primitive/std docs separation and headers
This commit is contained in:
parent
dd01122b5c
commit
17ddcb434b
16 changed files with 127 additions and 128 deletions
|
@ -801,11 +801,53 @@ mod prim_array {}
|
|||
/// assert_eq!(2 * pointer_size, std::mem::size_of::<Box<[u8]>>());
|
||||
/// assert_eq!(2 * pointer_size, std::mem::size_of::<Rc<[u8]>>());
|
||||
/// ```
|
||||
///
|
||||
/// ## Trait Implementations
|
||||
///
|
||||
/// Some traits are implemented for slices if the element type implements
|
||||
/// that trait. This includes [`Eq`], [`Hash`] and [`Ord`].
|
||||
///
|
||||
/// ## Iteration
|
||||
///
|
||||
/// The slices implement `IntoIterator`. The iterator yields references to the
|
||||
/// slice elements.
|
||||
///
|
||||
/// ```
|
||||
/// let numbers: &[i32] = &[0, 1, 2];
|
||||
/// for n in numbers {
|
||||
/// println!("{n} is a number!");
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// The mutable slice yields mutable references to the elements:
|
||||
///
|
||||
/// ```
|
||||
/// let mut scores: &mut [i32] = &mut [7, 8, 9];
|
||||
/// for score in scores {
|
||||
/// *score += 1;
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// This iterator yields mutable references to the slice's elements, so while
|
||||
/// the element type of the slice is `i32`, the element type of the iterator is
|
||||
/// `&mut i32`.
|
||||
///
|
||||
/// * [`.iter`] and [`.iter_mut`] are the explicit methods to return the default
|
||||
/// iterators.
|
||||
/// * Further methods that return iterators are [`.split`], [`.splitn`],
|
||||
/// [`.chunks`], [`.windows`] and more.
|
||||
///
|
||||
/// [`Hash`]: core::hash::Hash
|
||||
/// [`.iter`]: slice::iter
|
||||
/// [`.iter_mut`]: slice::iter_mut
|
||||
/// [`.split`]: slice::split
|
||||
/// [`.splitn`]: slice::splitn
|
||||
/// [`.chunks`]: slice::chunks
|
||||
/// [`.windows`]: slice::windows
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
mod prim_slice {}
|
||||
|
||||
#[doc(primitive = "str")]
|
||||
//
|
||||
/// String slices.
|
||||
///
|
||||
/// *[See also the `std::str` module](crate::str).*
|
||||
|
@ -816,19 +858,22 @@ mod prim_slice {}
|
|||
///
|
||||
/// String slices are always valid UTF-8.
|
||||
///
|
||||
/// # Examples
|
||||
/// # Basic Usage
|
||||
///
|
||||
/// String literals are string slices:
|
||||
///
|
||||
/// ```
|
||||
/// let hello = "Hello, world!";
|
||||
///
|
||||
/// // with an explicit type annotation
|
||||
/// let hello: &'static str = "Hello, world!";
|
||||
/// let hello_world = "Hello, World!";
|
||||
/// ```
|
||||
///
|
||||
/// They are `'static` because they're stored directly in the final binary, and
|
||||
/// so will be valid for the `'static` duration.
|
||||
/// Here we have declared a string slice initialized with a string literal.
|
||||
/// String literals have a static lifetime, which means the string `hello_world`
|
||||
/// is guaranteed to be valid for the duration of the entire program.
|
||||
/// We can explicitly specify `hello_world`'s lifetime as well:
|
||||
///
|
||||
/// ```
|
||||
/// let hello_world: &'static str = "Hello, world!";
|
||||
/// ```
|
||||
///
|
||||
/// # Representation
|
||||
///
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue