summaryrefslogtreecommitdiff
path: root/src/collection
diff options
context:
space:
mode:
Diffstat (limited to 'src/collection')
-rw-r--r--src/collection/boxed.rs8
-rw-r--r--src/collection/owned.rs7
-rw-r--r--src/collection/ref.rs9
-rw-r--r--src/collection/retry.rs8
4 files changed, 18 insertions, 14 deletions
diff --git a/src/collection/boxed.rs b/src/collection/boxed.rs
index a62a33d..ea840ab 100644
--- a/src/collection/boxed.rs
+++ b/src/collection/boxed.rs
@@ -1,14 +1,14 @@
use std::fmt::Debug;
use std::marker::PhantomData;
-use crate::lockable::Lock;
-use crate::{Keyable, Lockable, OwnedLockable, Sharable};
+use crate::lockable::{Lockable, OwnedLockable, RawLock, Sharable};
+use crate::Keyable;
use super::{BoxedLockCollection, LockGuard};
/// returns `true` if the sorted list contains a duplicate
#[must_use]
-fn contains_duplicates(l: &[&dyn Lock]) -> bool {
+fn contains_duplicates(l: &[&dyn RawLock]) -> bool {
l.windows(2)
.any(|window| std::ptr::eq(window[0], window[1]))
}
@@ -18,7 +18,7 @@ unsafe impl<L: Lockable> Lockable for BoxedLockCollection<L> {
type ReadGuard<'g> = L::ReadGuard<'g> where Self: 'g;
- fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
+ fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn RawLock>) {
self.data.get_ptrs(ptrs)
}
diff --git a/src/collection/owned.rs b/src/collection/owned.rs
index eb5e03a..d77d568 100644
--- a/src/collection/owned.rs
+++ b/src/collection/owned.rs
@@ -1,10 +1,11 @@
use std::marker::PhantomData;
-use crate::{lockable::Lock, Keyable, Lockable, OwnedLockable, Sharable};
+use crate::lockable::{Lockable, OwnedLockable, RawLock, Sharable};
+use crate::Keyable;
use super::{LockGuard, OwnedLockCollection};
-fn get_locks<L: Lockable>(data: &L) -> Vec<&dyn Lock> {
+fn get_locks<L: Lockable>(data: &L) -> Vec<&dyn RawLock> {
let mut locks = Vec::new();
data.get_ptrs(&mut locks);
locks
@@ -15,7 +16,7 @@ unsafe impl<L: Lockable> Lockable for OwnedLockCollection<L> {
type ReadGuard<'g> = L::ReadGuard<'g> where Self: 'g;
- fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
+ fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn RawLock>) {
self.data.get_ptrs(ptrs)
}
diff --git a/src/collection/ref.rs b/src/collection/ref.rs
index 329f0ae..2e2883a 100644
--- a/src/collection/ref.rs
+++ b/src/collection/ref.rs
@@ -1,12 +1,13 @@
use std::fmt::Debug;
use std::marker::PhantomData;
-use crate::{key::Keyable, lockable::Lock, Lockable, OwnedLockable, Sharable};
+use crate::lockable::{Lockable, OwnedLockable, RawLock, Sharable};
+use crate::Keyable;
use super::{LockGuard, RefLockCollection};
#[must_use]
-pub fn get_locks<L: Lockable>(data: &L) -> Vec<&dyn Lock> {
+pub fn get_locks<L: Lockable>(data: &L) -> Vec<&dyn RawLock> {
let mut locks = Vec::new();
data.get_ptrs(&mut locks);
locks.sort_by_key(|lock| std::ptr::from_ref(*lock));
@@ -15,7 +16,7 @@ pub fn get_locks<L: Lockable>(data: &L) -> Vec<&dyn Lock> {
/// returns `true` if the sorted list contains a duplicate
#[must_use]
-fn contains_duplicates(l: &[&dyn Lock]) -> bool {
+fn contains_duplicates(l: &[&dyn RawLock]) -> bool {
l.windows(2)
.any(|window| std::ptr::eq(window[0], window[1]))
}
@@ -43,7 +44,7 @@ unsafe impl<'c, L: Lockable> Lockable for RefLockCollection<'c, L> {
type ReadGuard<'g> = L::ReadGuard<'g> where Self: 'g;
- fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
+ fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn RawLock>) {
ptrs.extend_from_slice(&self.locks);
}
diff --git a/src/collection/retry.rs b/src/collection/retry.rs
index 58a0642..d15d7d6 100644
--- a/src/collection/retry.rs
+++ b/src/collection/retry.rs
@@ -1,4 +1,6 @@
-use crate::{lockable::Lock, Keyable, Lockable, OwnedLockable, Sharable};
+use crate::lockable::{Lockable, OwnedLockable, RawLock, Sharable};
+use crate::Keyable;
+
use std::collections::HashSet;
use std::marker::PhantomData;
@@ -7,7 +9,7 @@ use super::{LockGuard, RetryingLockCollection};
fn contains_duplicates<L: Lockable>(data: L) -> bool {
let mut locks = Vec::new();
data.get_ptrs(&mut locks);
- let locks = locks.into_iter().map(|l| l as *const dyn Lock);
+ let locks = locks.into_iter().map(|l| l as *const dyn RawLock);
let mut locks_set = HashSet::new();
for lock in locks {
@@ -24,7 +26,7 @@ unsafe impl<L: Lockable> Lockable for RetryingLockCollection<L> {
type ReadGuard<'g> = L::ReadGuard<'g> where Self: 'g;
- fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
+ fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn RawLock>) {
self.data.get_ptrs(ptrs)
}