#[cfg(feature = "std")] | |
macro_rules! try_lock { | |
($lock:expr) => { | |
try_lock!($lock, else return) | |
}; | |
($lock:expr, else $els:expr) => { | |
if let ::core::result::Result::Ok(l) = $lock { | |
l | |
} else if std::thread::panicking() { | |
$els | |
} else { | |
panic!("lock poisoned") | |
} | |
}; | |
} | |
macro_rules! feature { | |
( | |
#![$meta:meta] | |
$($item:item)* | |
) => { | |
$( | |
#[cfg($meta)] | |
#[cfg_attr(docsrs, doc(cfg($meta)))] | |
$item | |
)* | |
} | |
} |