#[cfg(feature = "std")] macro_rules! try_lock { ($lock:expr) => { try_lock!($lock, else return) }; ($lock:expr, else $els:expr) => { if let 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 )* } }