ExpertiDict

Rust · Essencial · Inglês · Técnico

clone

/kloʊn/substantivo / verbo

Método do trait Clone que cria uma cópia independente de um valor, inclusive dos dados no heap. É sempre explícito, porque pode custar caro.

Onde usar

Costuma aparecer como remendo para calar o borrow checker. Em review vira a pergunta: esse clone é necessário ou dá para emprestar?

Em código

let a = vec![1, 2];
let b = a.clone();
println!("{:?} {:?}", a, b);

Exemplos

Just clone it for now and optimize later.

Só clona por enquanto e otimiza depois.

That clone allocates on every request.

Esse clone aloca a cada requisição.

Cuidado

Não confunda com Copy: Copy é implícito e barato, enquanto clone é uma chamada visível que pode alocar memória.

Sinônimos

cópia profunda

Antônimos

move

Origem

Do grego klon, 'broto, ramo'.

Veja também

Todos os termos de Rust