Возможно ли сделать рекурсивное замыкание в Rust?
Это очень простой пример, но как бы я сделал что-то похожее на:
let fact = |x: u32| {
match x {
0 => 1,
_ => x * fact(x - 1),
}
};
Я знаю, что этот конкретный пример можно легко сделать с помощью итерации, но ямне интересно, если этоМожно сделать рекурсивную функцию в Rust для более сложных вещей (таких как обход деревьев) или если яЯ должен использовать свой собственный стек вместо.