(&self, f: F)
| 190 | /// mutual recursion occurs. |
| 191 | #[inline(always)] |
| 192 | fn checked_recur<F, T, E>(&self, f: F) -> Result<T, E> |
| 193 | where |
| 194 | F: FnOnce(&Self) -> Result<T, E>, |
| 195 | E: From<RecursionLimitError>, |
| 196 | { |
| 197 | self.recursion_guard().descend()?; |
| 198 | let out = maybe_grow(|| f(self)); |
| 199 | self.recursion_guard().ascend(); |
| 200 | out |
| 201 | } |
| 202 | |
| 203 | /// Like [`CheckedRecursion::checked_recur`], but operates on a mutable |
| 204 | /// reference to `Self`. |
no test coverage detected