Rust如何处理引用计数类型的"隔离岛"(引用循环)场景?

Aym*_*our 10 reference-counting rust

Rust如何处理Rcs和Arcs 的"隔离岛"场景?

"隔离岛"是这样一种情况,其中object A包含指向object的对象,B而object B包含指向object的指针A,但是在其他任何地方都没有指向任何对象的指针.

Rust是否足够智能来检测这个或是否会导致内存泄漏?

Sve*_*ach 10

Rust没有垃圾收集器,也不会检测引用周期.如果您的程序创建了无法访问的引用周期,它们就会被泄露,并且您可以自行避免它们,例如使用弱引用,或者首先不使用共享所有权.

请注意,创建引用循环的唯一方法是使用共享所有权和内部可变性.

另请参阅Rust书中有关参考循环章节.