remove unused field
since DrainFilter no longer continues draining when it's dropped the panic tracking is no longer needed.
This commit is contained in:
parent
f9097f87c9
commit
64ee0f74eb
@ -37,12 +37,6 @@ pub struct ExtractIf<
|
||||
pub(super) old_len: usize,
|
||||
/// The filter test predicate.
|
||||
pub(super) pred: F,
|
||||
/// A flag that indicates a panic has occurred in the filter test predicate.
|
||||
/// This is used as a hint in the drop implementation to prevent consumption
|
||||
/// of the remainder of the `ExtractIf`. Any unprocessed items will be
|
||||
/// backshifted in the `vec`, but no further items will be dropped or
|
||||
/// tested by the filter predicate.
|
||||
pub(super) panic_flag: bool,
|
||||
}
|
||||
|
||||
impl<T, F, A: Allocator> ExtractIf<'_, T, F, A>
|
||||
@ -69,9 +63,7 @@ where
|
||||
while self.idx < self.old_len {
|
||||
let i = self.idx;
|
||||
let v = slice::from_raw_parts_mut(self.vec.as_mut_ptr(), self.old_len);
|
||||
self.panic_flag = true;
|
||||
let drained = (self.pred)(&mut v[i]);
|
||||
self.panic_flag = false;
|
||||
// Update the index *after* the predicate is called. If the index
|
||||
// is updated prior and the predicate panics, the element at this
|
||||
// index would be leaked.
|
||||
|
@ -2948,7 +2948,7 @@ impl<T, A: Allocator> Vec<T, A> {
|
||||
self.set_len(0);
|
||||
}
|
||||
|
||||
ExtractIf { vec: self, idx: 0, del: 0, old_len, pred: filter, panic_flag: false }
|
||||
ExtractIf { vec: self, idx: 0, del: 0, old_len, pred: filter }
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user