News for hackers. Stuff that matters.
Re:Welcome to Comprehensive Rust by pkolaczk on Thursday December 22, 2022 @07:53AM (#34092781)
It does not guarantee, but it is actually quite hard to cause a memory leak by accident, because at the same time Rust makes creating cycles hard.
Re:Welcome to Comprehensive Rust by mrtngslr on Thursday December 22, 2022 @08:04AM (#34092830)
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.

Re:Welcome to Comprehensive Rust by jamincan on Thursday December 22, 2022 @08:33AM (#34093029)
The Rust Book has an example: 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.

Re:Welcome to Comprehensive Rust by britneybitch on Thursday December 22, 2022 @08:27AM (#34092982)
You 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_c...

Re:Welcome to Comprehensive Rust by bitexploder on Thursday December 22, 2022 @08:36AM (#34093044)
And when using C libraries / FFI, there are a lot of tricky things going in, it is much easier to leak in unsafe land.
Re:Welcome to Comprehensive Rust by junon on Thursday December 22, 2022 @09:16AM (#34093455)
You're incorrect, sorry. It's very easy to creat cycles in inner-mutable data structures (e.g. Rc).