top | item 32810836

(no title)

llllllllllll9 | 3 years ago

be careful and do your research.

anytime you need to implement anything that shares references (just about any data structure worth its weight in implementation time) you need to use Rc<> and friends.

i am not talking about https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html. fine, this escape hatch is needed.

i am referring to https://doc.rust-lang.org/book/ch15-06-reference-cycles.html.

discuss

order

pornel|3 years ago

It's not anytime. It's limited to recursive types with interior mutability. These two conditions are specific to mutable graphs, not just any shared ownership. There are plenty of uses of Rc that cannot possibly cause a cycle.

mejutoco|3 years ago

Ah, I see now. That makes sense. I stand corrected.