The details are truthfully a little more complicated but that is essentially the minimum viable pseudocode to get my point across. Anyways, I have seen a few solutions via google search but most of these appear to be pre Rust 1.0. I'm wondering whether there is a recommended way to tackle cyclic data structures or whether it is instead something to be solved on a per-implementation basis.
That paper predates stable Rust, and uses an older, pre-stable syntax as well. If you're looking for some practical resources, I would recommend finding something newer. Maybe Introduction - Learning Rust With Entirely Too Many Linked Lists . (If you do read the paper, you'll at least need to know that Box<T> used to be spelt ~T.)