From e601e2ac48a217fafb5962a43680d60c574d35ef Mon Sep 17 00:00:00 2001 From: Alexis Bourget Date: Wed, 22 Jul 2020 21:50:16 +0200 Subject: Improve the documentation for Vec::drain --- src/liballoc/vec.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/liballoc') diff --git a/src/liballoc/vec.rs b/src/liballoc/vec.rs index 5db96a504a6..269eeed3ccf 100644 --- a/src/liballoc/vec.rs +++ b/src/liballoc/vec.rs @@ -1274,11 +1274,12 @@ impl Vec { /// Creates a draining iterator that removes the specified range in the vector /// and yields the removed items. /// - /// Note 1: The element range is removed even if the iterator is only - /// partially consumed or not consumed at all. + /// The element range is removed even if the iterator is only partially + /// consumed or not consumed at all. /// - /// Note 2: It is unspecified how many elements are removed from the vector - /// if the `Drain` value is leaked. + /// Note: Be aware that if the iterator is leaked (eg: [`mem::forget`]), it + /// cancels this property so it is unspecified how many elements are removed + /// from the vector in this case. /// /// # Panics /// @@ -1297,6 +1298,8 @@ impl Vec { /// v.drain(..); /// assert_eq!(v, &[]); /// ``` + /// + /// [`mem::forget`]: mem::forget #[stable(feature = "drain", since = "1.6.0")] pub fn drain(&mut self, range: R) -> Drain<'_, T> where -- cgit 1.4.1-3-g733a5