Skip to content

Commit 4b192d8

Browse files
committed
std: test head or tail for VecDeque::as_slice_mut doctest and add explanation
Signed-off-by: xizheyin <[email protected]>
1 parent 6777bad commit 4b192d8

File tree

1 file changed

+14
-6
lines changed
  • library/alloc/src/collections/vec_deque

1 file changed

+14
-6
lines changed

library/alloc/src/collections/vec_deque/mod.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,9 @@ impl<T, A: Allocator> VecDeque<T, A> {
13531353
/// If [`make_contiguous`] was previously called, all elements of the
13541354
/// deque will be in the first slice and the second slice will be empty.
13551355
///
1356+
/// Note that the particular split point between the slices is not guaranteed
1357+
/// and may change based on internal implementation details.
1358+
///
13561359
/// [`make_contiguous`]: VecDeque::make_contiguous
13571360
///
13581361
/// # Examples
@@ -1362,15 +1365,20 @@ impl<T, A: Allocator> VecDeque<T, A> {
13621365
///
13631366
/// let mut deque = VecDeque::new();
13641367
///
1365-
/// deque.push_back(0);
13661368
/// deque.push_back(1);
1369+
/// deque.push_back(2);
1370+
/// deque.push_back(3);
1371+
/// deque.push_back(4);
13671372
///
1368-
/// deque.push_front(10);
1369-
/// deque.push_front(9);
1373+
/// let (front, back) = deque.as_mut_slices();
13701374
///
1371-
/// deque.as_mut_slices().0[0] = 42;
1372-
/// deque.as_mut_slices().1[0] = 24;
1373-
/// assert_eq!(deque.as_slices(), (&[42, 10][..], &[24, 1][..]));
1375+
/// if !front.is_empty() {
1376+
/// front[0] = 5;
1377+
/// assert_eq!(deque[0], 5);
1378+
/// } else {
1379+
/// back[back.len() - 1] = 5;
1380+
/// assert_eq!(deque[deque.len() - 1], 5);
1381+
/// }
13741382
/// ```
13751383
#[inline]
13761384
#[stable(feature = "deque_extras_15", since = "1.5.0")]

0 commit comments

Comments
 (0)