Rust · Intermediário · Inglês · Técnico
Drop
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