diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-10-09 23:03:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-09 23:03:48 +0200 |
| commit | d58345010c70425a7bdb3de05ba255e8d7d57a1d (patch) | |
| tree | 36c9fd6450156e4443ae88e409efdcc981742651 | |
| parent | 627d0b4067749abd35810fbb0a156c03cc077b10 (diff) | |
| parent | cb267b4c560715f9e5fa60010c92be4003655c67 (diff) | |
| download | rust-d58345010c70425a7bdb3de05ba255e8d7d57a1d.tar.gz rust-d58345010c70425a7bdb3de05ba255e8d7d57a1d.zip | |
Rollup merge of #131383 - AngelicosPhosphoros:better_doc_for_slice_slicing_at_ends, r=cuviper
Add docs about slicing slices at the ends Closes https://github.com/rust-lang/rust/issues/60783
| -rw-r--r-- | library/core/src/primitive_docs.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/library/core/src/primitive_docs.rs b/library/core/src/primitive_docs.rs index c25501f1200..89936dc12ac 100644 --- a/library/core/src/primitive_docs.rs +++ b/library/core/src/primitive_docs.rs @@ -862,6 +862,27 @@ mod prim_array {} /// assert_eq!(x, &[1, 7, 3]); /// ``` /// +/// It is possible to slice empty subranges of slices by using empty ranges (including `slice.len()..slice.len()`): +/// ``` +/// let x = [1, 2, 3]; +/// let empty = &x[0..0]; // subslice before the first element +/// assert_eq!(empty, &[]); +/// let empty = &x[..0]; // same as &x[0..0] +/// assert_eq!(empty, &[]); +/// let empty = &x[1..1]; // empty subslice in the middle +/// assert_eq!(empty, &[]); +/// let empty = &x[3..3]; // subslice after the last element +/// assert_eq!(empty, &[]); +/// let empty = &x[3..]; // same as &x[3..3] +/// assert_eq!(empty, &[]); +/// ``` +/// +/// It is not allowed to use subranges that start with lower bound bigger than `slice.len()`: +/// ```should_panic +/// let x = vec![1, 2, 3]; +/// let _ = &x[4..4]; +/// ``` +/// /// As slices store the length of the sequence they refer to, they have twice /// the size of pointers to [`Sized`](marker/trait.Sized.html) types. /// Also see the reference on |
