blob: 0c74c84d7656bd7c3d6063dc2358f774bf76b5e7 (
plain)
#![cfg(feature = "std")]
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);
}
|