ExpertiDict

Rust · Essencial · Inglês · Técnico

move

/muːv/substantivo / palavra-chave

Transferência de posse de um valor para outro lugar, como uma variável, um argumento ou uma closure. Depois disso, o dono antigo não pode mais usá-lo.

Onde usar

Aparece em erros como 'borrow of moved value' e na palavra-chave move das closures passadas a threads. É o comportamento padrão ao atribuir tipos que não são Copy.

Em código

let v = vec![1, 2, 3];
let h = std::thread::spawn(move || {
  println!("{:?}", v);
});
h.join().unwrap();

Exemplos

The vector was moved into the closure.

O vetor foi movido para dentro da closure.

You need move here, otherwise the thread borrows it.

Você precisa de move aqui, senão a thread só pega emprestado.

Cuidado

Não é uma cópia profunda nem um clone: os dados no heap ficam onde estão, só a posse muda de mãos.

Sinônimos

transferência de posse

Antônimos

empréstimo

Veja também

Todos os termos de Rust