aboutsummaryrefslogtreecommitdiff
path: root/src/sync/sharded_lock.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sync/sharded_lock.rs')
-rw-r--r--src/sync/sharded_lock.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sync/sharded_lock.rs b/src/sync/sharded_lock.rs
index a8f4584..5aee56f 100644
--- a/src/sync/sharded_lock.rs
+++ b/src/sync/sharded_lock.rs
@@ -356,7 +356,7 @@ impl<T: ?Sized> ShardedLock<T> {
for shard in self.shards[0..i].iter().rev() {
unsafe {
let dest: *mut _ = shard.write_guard.get();
- let guard = mem::replace(&mut *dest, None);
+ let guard = (*dest).take();
drop(guard);
}
}
@@ -526,7 +526,7 @@ impl<T: ?Sized> Drop for ShardedLockWriteGuard<'_, T> {
for shard in self.lock.shards.iter().rev() {
unsafe {
let dest: *mut _ = shard.write_guard.get();
- let guard = mem::replace(&mut *dest, None);
+ let guard = (*dest).take();
drop(guard);
}
}