Weak References and Breaking Cycles

Updated

October 31, 2026

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>>,
}