Skip to content

Commit 747e8ff

Browse files
author
chansuke
committed
Fix example
1 parent 596d1f2 commit 747e8ff

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

library/alloc/src/vec/mod.rs

+12-6
Original file line numberDiff line numberDiff line change
@@ -1784,14 +1784,20 @@ impl<T, A: Allocator> Vec<T, A> {
17841784
/// assert_eq!(static_ref, &[2, 2, 3]);
17851785
/// ```
17861786
///
1787-
/// As well as `Vec::into_boxed_slice`, any excess capacity will be removed:
1787+
/// Drop excess capacity:
17881788
///
17891789
/// ```
1790-
/// let mut vec = Vec::with_capacity(10);
1791-
/// vec.extend([1, 2, 3].iter().cloned());
1792-
/// assert_eq!(vec.capacity(), 10);
1793-
/// let slice = vec.leak();
1794-
/// assert_eq!(slice.to_vec().capacity(), 3);
1790+
/// let mut v = Vec::with_capacity(10);
1791+
/// v.extend([1, 2, 3].iter().cloned());
1792+
/// let slice = v.clone().into_boxed_slice();
1793+
/// let static_ref = Box::leak(slice);
1794+
///
1795+
/// unsafe {
1796+
/// let p = v.as_mut_ptr();
1797+
/// let len = v.len();
1798+
/// let rebuilt = Vec::from_raw_parts(p, len, static_ref.len());
1799+
/// assert_eq!(rebuilt.capacity(), 3);
1800+
/// }
17951801
/// ```
17961802
#[stable(feature = "vec_leak", since = "1.47.0")]
17971803
#[inline]

0 commit comments

Comments
 (0)