3 ms·
Ownership semantics in rust largely prevent circular references, so it's not the same deal
by hctaw 6y ago
Ownership semantics in rust largely prevent circular references, so it's not the same deal
- allo37 6y agoSorry, I'm not a Rust pro, but from the docs about reference cycles linked above: > We can see that Rust allows memory leaks by using Rc<T> and RefCell<T>: it’s possible to create references where items refer to each other in a cycle. This creates memory leaks because the reference count of each item in the cycle will never reach 0, and the values will never be dropped. This sounds a lot like what happens when you create a circular reference with std::shared_ptr ?
- steveklabnik 6y agoYes, it is the same thing.
- hctaw 6y agoYes, but grep for `Rc::new()` in actual rust code bases compared to `shared_ptr` in C++. Interior mutability is cumbersome and not a natural pattern in practice.