pub fn recursion_guard(
depth: usize,
f: impl FnOnce(usize) -> (usize, Option<usize>),
) -> (usize, Option<usize>)
Expand description
Protects against potential infinite recursion when calculating size hints due to indirect type recursion.
When the depth is not too deep, calls f
with depth + 1
to calculate the
size hint.
Otherwise, returns the default size hint: (0, None)
.