Lines Matching defs:vec
20 /// let mut v = vec![0, 1, 2];
21 /// let iter: std::vec::Drain<'_, _> = v.drain(..);
35 pub(super) vec: NonNull<Vec<T, A>>,
51 /// let mut vec = vec!['a', 'b', 'c'];
52 /// let mut drain = vec.drain(..);
68 unsafe { self.vec.as_ref().allocator() }
78 /// let mut vec = vec!['a', 'b', 'c'];
79 /// let mut drain = vec.drain(..);
83 /// // This call keeps 'b' and 'c' in the vec.
87 /// // `vec` would be empty.
88 /// assert_eq!(vec, ['b', 'c']);
102 // 3. Update length of the original vec to `len(head) + len(unyielded) + len(tail)`
108 let source_vec = this.vec.as_mut();
185 let source_vec = self.0.vec.as_mut();
203 let mut vec = self.vec;
209 let vec = vec.as_mut();
210 let old_len = vec.len();
211 vec.set_len(old_len + drop_len + self.tail_len);
212 vec.truncate(old_len + self.tail_len);
226 // it also gets touched by vec::Splice which may turn it into a dangling pointer
227 // which would make it and the vec pointer point to different allocations which would
234 // it from the original vec but also avoid creating a &mut to the front since that could
236 let vec_ptr = vec.as_mut().as_mut_ptr();