@@ -1353,6 +1353,9 @@ impl<T, A: Allocator> VecDeque<T, A> {
1353
1353
/// If [`make_contiguous`] was previously called, all elements of the
1354
1354
/// deque will be in the first slice and the second slice will be empty.
1355
1355
///
1356
+ /// Note that the particular split point between the slices is not guaranteed
1357
+ /// and may change based on internal implementation details.
1358
+ ///
1356
1359
/// [`make_contiguous`]: VecDeque::make_contiguous
1357
1360
///
1358
1361
/// # Examples
@@ -1362,15 +1365,20 @@ impl<T, A: Allocator> VecDeque<T, A> {
1362
1365
///
1363
1366
/// let mut deque = VecDeque::new();
1364
1367
///
1365
- /// deque.push_back(0);
1366
1368
/// deque.push_back(1);
1369
+ /// deque.push_back(2);
1370
+ /// deque.push_back(3);
1371
+ /// deque.push_back(4);
1367
1372
///
1368
- /// deque.push_front(10);
1369
- /// deque.push_front(9);
1373
+ /// let (front, back) = deque.as_mut_slices();
1370
1374
///
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
+ /// }
1374
1382
/// ```
1375
1383
#[ inline]
1376
1384
#[ stable( feature = "deque_extras_15" , since = "1.5.0" ) ]
0 commit comments