• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #[cfg(feature = "std")]
2 macro_rules! try_lock {
3     ($lock:expr) => {
4         try_lock!($lock, else return)
5     };
6     ($lock:expr, else $els:expr) => {
7         if let Ok(l) = $lock {
8             l
9         } else if std::thread::panicking() {
10             $els
11         } else {
12             panic!("lock poisoned")
13         }
14     };
15 }
16 
17 macro_rules! feature {
18     (
19         #![$meta:meta]
20         $($item:item)*
21     ) => {
22         $(
23             #[cfg($meta)]
24             #[cfg_attr(docsrs, doc(cfg($meta)))]
25             $item
26         )*
27     }
28 }
29