ExpertiDict

Rust · Intermediário · Inglês · Técnico

Drop

/drɑːp/substantivo

Trait com um único método drop, chamado automaticamente quando o valor sai de escopo. Serve para liberar recursos como memória, arquivos e travas.

Onde usar

Aparece ao implementar tipos que gerenciam recursos e em discussões sobre a ordem de liberação. É o equivalente ao destrutor de outras linguagens.

Em código

struct Guarda(&'static str);
impl Drop for Guarda {
  fn drop(&mut self) {
    println!("saindo {}", self.0);
  }
}
let _g = Guarda("a");
println!("fim do escopo");

Exemplos

Implement Drop to close the connection.

Implemente Drop para fechar a conexão.

The guard is released when it's dropped.

O guard é liberado quando sofre drop.

Cuidado

Você não pode chamar o método drop diretamente; para liberar antes do fim do escopo, use a função std::mem::drop.

Sinônimos

destrutor

Veja também

Todos os termos de Rust