Thinking about this some more, that example has a mutex in a single thread program. If it's ever reached while locked, the program is stuck. This is a demonstration that the backlink problem and single-thread deadlock detection are equivalent.
Work on compile time deadlock detection for Rust is underway.[1] It's complicated, but do-able.
When nothing in the call tree is using the parent link, it should be OK to add children. That's potentially checkable at compile time.