summaryrefslogtreecommitdiff
path: root/src/mutex/mutex.rs
diff options
context:
space:
mode:
authorBotahamec <botahamec@outlook.com>2024-05-23 19:50:32 -0400
committerBotahamec <botahamec@outlook.com>2024-05-23 19:50:32 -0400
commitf81d4b40a007fecf6502a36b4c24a1e31807a731 (patch)
treeb4cc65f0ccbc118e47ede4e6556fa1123aae41c8 /src/mutex/mutex.rs
parentfa39064fe2f3399d27762a23c54d4703d00bd199 (diff)
Comments
Diffstat (limited to 'src/mutex/mutex.rs')
-rw-r--r--src/mutex/mutex.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mutex/mutex.rs b/src/mutex/mutex.rs
index 52b6081..89dfef9 100644
--- a/src/mutex/mutex.rs
+++ b/src/mutex/mutex.rs
@@ -48,6 +48,7 @@ impl<T: ?Sized + Debug, R: RawMutex> Debug for Mutex<T, R> {
// safety: this is just a try lock, and the value is dropped
// immediately after, so there's no risk of blocking ourselves
// or any other threads
+ // when i implement try_clone this code will become less unsafe
if let Some(value) = unsafe { self.try_lock_no_key() } {
f.debug_struct("Mutex").field("data", &&*value).finish()
} else {
@@ -77,6 +78,9 @@ impl<T, R: RawMutex> From<T> for Mutex<T, R> {
}
}
+// We don't need a `get_mut` because we don't have mutex poisoning. Hurray!
+// This is safe because you can't have a mutable reference to the lock if it's
+// locked. Being locked requires an immutable reference because of the guard.
impl<T: ?Sized, R> AsMut<T> for Mutex<T, R> {
fn as_mut(&mut self) -> &mut T {
self.get_mut()