diff --git a/src/dynamic_set.rs b/src/dynamic_set.rs index 6ea4ba6..46e7a54 100644 --- a/src/dynamic_set.rs +++ b/src/dynamic_set.rs @@ -87,13 +87,11 @@ impl Set { } pub(crate) fn remove(&self, ptr: *mut Entry) { - let bucket_index = { - let value: &Entry = unsafe { &*ptr }; - debug_assert!(value.ref_count.load(SeqCst) == 0); - (value.hash & BUCKET_MASK) as usize - }; + let value: &Entry = unsafe { &*ptr }; + let bucket_index = (value.hash & BUCKET_MASK) as usize; let mut linked_list = self.buckets[bucket_index].lock(); + debug_assert!(value.ref_count.load(SeqCst) == 0); let mut current: &mut Option> = &mut linked_list; while let Some(entry_ptr) = current.as_mut() {