It sounds like you're trying to create a self-referential struct which isn't really allowed because of the way the borrow system works
There are a couple ways to work around this though, one method would be to use some form of reference-counted pointer (Rc or Arc) or you can fall back to using raw pointers instead of references. Usually I'd recommend against writing self-referential structs because cleanup can become non-trivial (i.e. leaks due to a reference cycle or segfaults due to stuffing up a pointer operation), but in your case I don't think you have a choice.
If the data elements are static, it is possible to form cyclic data structures without boxing. Maybe you can declare a hierarchy of different data types taking into account the lifetimes as done for Seq Static, cyclic, infinite lists with Seq