Weak References and Breaking Cycles
Weak References and Breaking Cycles
Cycles of Rc or Arc pointers can cause memory leaks. Use Weak<T> (downgraded non-owning reference) to break reference cycles:
use std::rc::{Rc, Weak};
struct Node {
parent: Option<Weak<Node>>,
}