(&self, f: F)
| 99 | } |
| 100 | |
| 101 | pub fn get_or_try_init<F, E>(&self, f: F) -> Result<NonNull<T>, E> |
| 102 | where |
| 103 | F: FnOnce() -> Result<Box<T>, E>, |
| 104 | { |
| 105 | if let Some(val) = self.get() { |
| 106 | return Ok(val); |
| 107 | } |
| 108 | |
| 109 | Ok(self.initialize(f()?)) |
| 110 | } |
| 111 | |
| 112 | #[cold] |
| 113 | fn initialize(&self, val: Box<T>) -> NonNull<T> { |
no test coverage detected