ExpertiDict

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

mem take

/mɛm teɪk/substantivo

Função de std::mem que troca o valor de uma referência mutável pelo Default do tipo e devolve o valor antigo, movendo de dentro de uma referência com segurança.

Onde usar

Resolve o erro 'cannot move out of borrowed content' ao tirar um campo de &mut self. As irmãs são mem::replace e mem::swap.

Em código

use std::mem;
let mut v = vec![1, 2];
let antigo = mem::take(&mut v);
println!("{:?} {:?}", antigo, v);

Exemplos

Use mem take to move the buffer out.

Use mem take para tirar o buffer de dentro.

mem take leaves an empty Vec behind.

O mem take deixa um Vec vazio no lugar.

Cuidado

Exige que o tipo implemente Default; sem isso, use mem::replace e passe o valor de substituição.

Sinônimos

mem::take

Veja também

Todos os termos de Rust