Feature gate: #![feature(vec_deque_truncate_to_range)]
This is a tracking issue for adding truncate_to_range to VecDeque.
This function can truncate both ends of a VecDeque, keeping only the specified range in the middle. This operation is O(1) if there is no Drop code.
metrics.truncate_to_range(start..end);
// is equivalent to
metrics.truncate(end);
metrics.truncate_front(metrics.len() - start);
Public API
impl<T, A: Allocator> VecDeque<T, A> {
pub fn truncate_to_range<R>(&mut self, range: R)
where
R: RangeBounds<usize>;
}
Steps / History
(Remember to update the S-tracking-* label when checking boxes.)
Unresolved Questions
Feature gate:
#![feature(vec_deque_truncate_to_range)]This is a tracking issue for adding
truncate_to_rangetoVecDeque.This function can truncate both ends of a
VecDeque, keeping only the specified range in the middle. This operation is O(1) if there is noDropcode.Public API
Steps / History
(Remember to update the
S-tracking-*label when checking boxes.)VecDeque::truncate_to_rangelibs-team#785VecDeque::truncate_to_range#156220Unresolved Questions
Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩