diff options
| author | Botahamec <botahamec@outlook.com> | 2025-02-28 16:09:11 -0500 |
|---|---|---|
| committer | Botahamec <botahamec@outlook.com> | 2025-02-28 16:09:11 -0500 |
| commit | 4ba03be97e6cc7e790bbc9bfc18caaa228c8a262 (patch) | |
| tree | a257184577a93ddf240aba698755c2886188788b /tests/forget.rs | |
| parent | 4a5ec04a29cba07c5960792528bd66b0f99ee3ee (diff) | |
Scoped lock API
Diffstat (limited to 'tests/forget.rs')
| -rw-r--r-- | tests/forget.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/forget.rs b/tests/forget.rs new file mode 100644 index 0000000..755bdb1 --- /dev/null +++ b/tests/forget.rs @@ -0,0 +1,24 @@ +use happylock::{Mutex, ThreadKey}; + +#[test] +fn no_new_threadkey_when_forgetting_lock() { + let key = ThreadKey::get().unwrap(); + let mutex = Mutex::new("foo".to_string()); + + let guard = mutex.lock(key); + std::mem::forget(guard); + + assert!(ThreadKey::get().is_none()); +} + +#[test] +fn no_new_threadkey_in_scoped_lock() { + let mut key = ThreadKey::get().unwrap(); + let mutex = Mutex::new("foo".to_string()); + + mutex.scoped_lock(&mut key, |_| { + assert!(ThreadKey::get().is_none()); + }); + + mutex.lock(key); +} |
