diff options
| author | Stuart Cook <Zalathar@users.noreply.github.com> | 2025-05-06 16:28:39 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-06 16:28:39 +1000 |
| commit | d5c09b4aa6107fef442abfb3940ede9a628b296b (patch) | |
| tree | ea337d6a496d665d2e24396d0a15db26a5e94d15 /library/alloc/src | |
| parent | 5ca0053c794ec9c5a2c843785193bedeac53e4a8 (diff) | |
| parent | cbdd7134ff72aaf3679f4df2b2e4a0fe847edd06 (diff) | |
| download | rust-d5c09b4aa6107fef442abfb3940ede9a628b296b.tar.gz rust-d5c09b4aa6107fef442abfb3940ede9a628b296b.zip | |
Rollup merge of #139773 - thaliaarchi:vec-into-iter-last, r=workingjubilee
Implement `Iterator::last` for `vec::IntoIter` Avoid iterating everything when we have random access to the last element.
Diffstat (limited to 'library/alloc/src')
| -rw-r--r-- | library/alloc/src/vec/into_iter.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/library/alloc/src/vec/into_iter.rs b/library/alloc/src/vec/into_iter.rs index 1af110691ba..37df928228d 100644 --- a/library/alloc/src/vec/into_iter.rs +++ b/library/alloc/src/vec/into_iter.rs @@ -259,6 +259,11 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { } #[inline] + fn last(mut self) -> Option<T> { + self.next_back() + } + + #[inline] fn next_chunk<const N: usize>(&mut self) -> Result<[T; N], core::array::IntoIter<T, N>> { let mut raw_ary = [const { MaybeUninit::uninit() }; N]; |
