From 657377311d3b041ac7b942e61ddbbe2861c494ec Mon Sep 17 00:00:00 2001 From: Mica White Date: Wed, 25 Dec 2024 11:17:35 -0500 Subject: try_lock returns a Result --- src/mutex/mutex.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/mutex') diff --git a/src/mutex/mutex.rs b/src/mutex/mutex.rs index 080e043..d744891 100644 --- a/src/mutex/mutex.rs +++ b/src/mutex/mutex.rs @@ -285,12 +285,15 @@ impl Mutex { pub fn try_lock<'s, 'a: 's, 'k: 'a, Key: Keyable>( &'s self, key: Key, - ) -> Option> { + ) -> Result, Key> { unsafe { // safety: we have the key to the mutex - self.raw_try_lock().then(|| + if self.raw_try_lock() { // safety: we just locked the mutex - MutexGuard::new(self, key)) + Ok(MutexGuard::new(self, key)) + } else { + Err(key) + } } } -- cgit v1.2.3