Child referencing parent lifetime issue


I posted a question on StackOverflow, which got marked as a duplicate of this answer. While the answer is great, it doesn’t really fix my issue; I at least cannot see how.

After reading through the answer multiple times, I still have three questions:

  1. Why can’t we just Box the parent pointer in Combinated? This way the reference the child keeps is still valid if we move the Combinated struct.
  2. Is the “correct” way to do this to somehow make sure Parent outlives the Child, and have Combinated not contain Parent?
  3. (might be OT for this post) What is it that owning_ref do? I cannot for the life of me understand the examples in the docs.