summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lockable.rs16
-rw-r--r--src/rwlock/read_lock.rs4
-rw-r--r--src/rwlock/write_lock.rs8
3 files changed, 10 insertions, 18 deletions
diff --git a/src/lockable.rs b/src/lockable.rs
index a5646e1..9b3a4e4 100644
--- a/src/lockable.rs
+++ b/src/lockable.rs
@@ -124,7 +124,7 @@ unsafe impl<T: Send, R: RawMutex + Send + Sync> OwnedLockable for Mutex<T, R> {}
unsafe impl<T: Send, R: RawRwLock + Send + Sync> OwnedLockable for RwLock<T, R> {}
-unsafe impl<T: Send, R: RawRwLock + Send + Sync> Lockable for ReadLock<T, R> {
+unsafe impl<'l, T: Send, R: RawRwLock + Send + Sync> Lockable for ReadLock<'l, T, R> {
type Guard<'g> = RwLockReadRef<'g, T, R> where Self: 'g;
fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
@@ -136,7 +136,7 @@ unsafe impl<T: Send, R: RawRwLock + Send + Sync> Lockable for ReadLock<T, R> {
}
}
-unsafe impl<T: Send, R: RawRwLock + Send + Sync> Lockable for WriteLock<T, R> {
+unsafe impl<'l, T: Send, R: RawRwLock + Send + Sync> Lockable for WriteLock<'l, T, R> {
type Guard<'g> = RwLockWriteRef<'g, T, R> where Self: 'g;
fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn Lock>) {
@@ -342,19 +342,12 @@ unsafe impl<A: OwnedLockable, B: OwnedLockable, C: OwnedLockable, D: OwnedLockab
{
}
-unsafe impl<
- 'a,
- A: OwnedLockable,
- B: OwnedLockable,
- C: OwnedLockable,
- D: OwnedLockable,
- E: OwnedLockable,
- > OwnedLockable for (A, B, C, D, E)
+unsafe impl<A: OwnedLockable, B: OwnedLockable, C: OwnedLockable, D: OwnedLockable, E: OwnedLockable>
+ OwnedLockable for (A, B, C, D, E)
{
}
unsafe impl<
- 'a,
A: OwnedLockable,
B: OwnedLockable,
C: OwnedLockable,
@@ -366,7 +359,6 @@ unsafe impl<
}
unsafe impl<
- 'a,
A: OwnedLockable,
B: OwnedLockable,
C: OwnedLockable,
diff --git a/src/rwlock/read_lock.rs b/src/rwlock/read_lock.rs
index 011bd8c..29042b5 100644
--- a/src/rwlock/read_lock.rs
+++ b/src/rwlock/read_lock.rs
@@ -6,7 +6,7 @@ use crate::key::Keyable;
use super::{ReadLock, RwLock, RwLockReadGuard, RwLockReadRef};
-impl<T: ?Sized + Debug, R: RawRwLock> Debug for ReadLock<T, R> {
+impl<'l, T: ?Sized + Debug, R: RawRwLock> Debug for ReadLock<'l, T, R> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
// safety: this is just a try lock, and the value is dropped
// immediately after, so there's no risk of blocking ourselves
@@ -34,7 +34,7 @@ impl<'l, T, R> From<&'l RwLock<T, R>> for ReadLock<'l, T, R> {
}
}
-impl<T: ?Sized, R> AsRef<RwLock<T, R>> for ReadLock<T, R> {
+impl<'l, T: ?Sized, R> AsRef<RwLock<T, R>> for ReadLock<'l, T, R> {
fn as_ref(&self) -> &RwLock<T, R> {
&self.0
}
diff --git a/src/rwlock/write_lock.rs b/src/rwlock/write_lock.rs
index 1f7112a..8501cd8 100644
--- a/src/rwlock/write_lock.rs
+++ b/src/rwlock/write_lock.rs
@@ -6,7 +6,7 @@ use crate::key::Keyable;
use super::{RwLock, RwLockWriteGuard, RwLockWriteRef, WriteLock};
-impl<T: ?Sized + Debug, R: RawRwLock> Debug for WriteLock<T, R> {
+impl<'l, T: ?Sized + Debug, R: RawRwLock> Debug for WriteLock<'l, T, R> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
// safety: this is just a try lock, and the value is dropped
// immediately after, so there's no risk of blocking ourselves
@@ -34,9 +34,9 @@ impl<'l, T, R> From<&'l RwLock<T, R>> for WriteLock<'l, T, R> {
}
}
-impl<T: ?Sized, R> AsRef<RwLock<T, R>> for WriteLock<T, R> {
+impl<'l, T: ?Sized, R> AsRef<RwLock<T, R>> for WriteLock<'l, T, R> {
fn as_ref(&self) -> &RwLock<T, R> {
- &self.0
+ self.0
}
}
@@ -57,7 +57,7 @@ impl<'l, T, R> WriteLock<'l, T, R> {
}
}
-impl<T: ?Sized, R: RawRwLock> WriteLock<T, R> {
+impl<'l, T: ?Sized, R: RawRwLock> WriteLock<'l, T, R> {
/// Locks the underlying [`RwLock`] with exclusive write access, blocking
/// the current until it can be acquired.
pub fn lock<'s, 'key: 's, Key: Keyable + 'key>(