3 ms·
I actually haven't tried this... do you know off the top of your head what it takes to make a cycle with Rc? It should not be possible with normal borrows (and
by mrtngslr 4y ago
I actually haven't tried this... do you know off the top of your head what it takes to make a cycle with Rc?
It should not be possible with normal borrows (and safe Rust) since they're statically checked to be acyclic.
- britneybitch 4y agoYou could store a `RefCell<Option<T>>` in an `Rc` and set it to `Some(rc)` after creation. Or you could use the recently-stabilized `new_cyclic` method: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.new_cyclic https://doc.rust-lang.org/std/rc/struct.Rc.html#method.new_c...
- bitexploder 4y agoAnd when using C libraries / FFI, there are a lot of tricky things going in, it is much easier to leak in unsafe land.
- jamincan 4y agoThe Rust Book has an example: https://doc.rust-lang.org/book/ch15-06-reference-cycles.html https://doc.rust-lang.org/book/ch15-06-reference-cycles.html Of course, leaking memory is as easy as using `Box::leak`, although that's probably never going to happen accidentally.