Да, утечка памяти в Rust так же проста, как вызов функции std::mem::forget
.
Вы также можете утечь память, если создаете цикл из общих ссылок :
Цикл между Rc
указателями никогда не будет освобожден.По этой причине Weak
используется для прерывания циклов.Например, дерево может иметь сильные Rc
указатели от родительских узлов до детей и Weak
указатели от детей обратно к их родителям.
Вы должны заметить, что утечка памяти не нарушаетБезопасность памяти гарантируется Rust.Однако можно с уверенностью предположить, что в Rust утечки памяти нет, если только вы не делаете что-то «экзотическое».