use std::sync::{Mutex, TryLockResult, MutexGuard};
use type_cell::*;
tycell!(u8 {
static Mutex<u8>: once_read;
set set_mutex();
get get_mutex_ref();
get get_mutex() -> TryLockResult<MutexGuard<'static,u8>>: static.try_lock();
});
fn main () {
u8::set_mutex(Mutex::new(100));
if let Ok(ref mut num) = u8::get_mutex() {
assert_eq!(100,**num);
**num = 200;
}
if let Ok(ref mut num) = u8::get_mutex() {
assert_eq!(200,**num);
}
}