Skip to content

Commit ebb6b5f

Browse files
committed
Do not perform superfluous bounds checks on drop
1 parent d2ab7a5 commit ebb6b5f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

crossbeam-epoch/src/internal.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ impl Default for Bag {
133133
impl Drop for Bag {
134134
fn drop(&mut self) {
135135
// Call all deferred functions.
136-
for i in 0..self.len {
136+
for deferred in &mut self.deferreds[..self.len] {
137137
let no_op = Deferred::new(no_op_func);
138-
let deferred = mem::replace(&mut self.deferreds[i], no_op);
139-
deferred.call();
138+
let owned_deferred = mem::replace(deferred, no_op);
139+
owned_deferred.call();
140140
}
141141
}
142142
}

0 commit comments

Comments
 (0)