@Simx72 igual ya habías visto este post, pero parece responder a tu pregunta:
https://dev.to/masteringbackend/what-is-a-weak-pointer-in-rust-and-why-it-matters-29m5
No lo he revisado a fondo y hace años que no programo en Rust, así que no me acuerdo de detalles tan técnicos 🥲 Ojalá tenga una solución correcta

