(&'static self, f: F)
| 28 | } |
| 29 | |
| 30 | pub fn get_or_try_init<F, E>(&'static self, f: F) -> Result<&'static T, E> |
| 31 | where |
| 32 | F: FnOnce() -> Result<T, E>, |
| 33 | { |
| 34 | if let Some(val) = self.inner.get() { |
| 35 | return Ok(val); |
| 36 | } |
| 37 | let val = f()?; |
| 38 | let _ = self.inner.set(val); |
| 39 | Ok(self.inner.get().unwrap()) |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | #[macro_export] |