ExpertiDict

Rust · Avançado · Inglês · Técnico

mem forget

/mɛm fɚˈɡɛt/substantivo

Função que consome um valor sem rodar seu destrutor, deixando o recurso sem liberação. É segura, porque vazar memória não viola as garantias do Rust.

Onde usar

Usada em FFI, ao entregar a posse de um recurso a código externo. Em outros casos, ManuallyDrop deixa a intenção mais clara.

Em código

use std::mem;
let s = String::from("vaza");
mem::forget(s); // sem drop: memória vaza
// isso é seguro: vazar não é UB

Exemplos

We mem forget the handle after passing it to C.

Fazemos mem forget do handle depois de passá-lo para o C.

Forgetting a value is safe, but it leaks.

Esquecer um valor é seguro, mas vaza.

Cuidado

Não confunda com drop: forget impede a liberação, e drop a executa na hora.

Sinônimos

mem::forget

Antônimos

drop

Veja também

Todos os termos de Rust