ExpertiDict

Rust · Essencial · Inglês · Técnico

borrowing

/ˈbɑːɹoʊɪŋ/substantivo

Usar um valor por meio de uma referência, sem tomar a posse dele. O dono continua responsável por liberar o dado, e o compilador confere o empréstimo.

Onde usar

Surge quando uma função só precisa ler ou alterar um dado do chamador. Em code review, a dúvida típica é se o parâmetro deve ser tomado por valor ou emprestado.

Em código

fn tamanho(s: &str) -> usize {
  s.len()
}
let s = String::from("oi");
let n = tamanho(&s);
println!("{s} {n}");

Exemplos

Borrowing lets the function read it without taking it.

O empréstimo deixa a função ler sem tomar o valor.

Prefer borrowing over cloning in this hot path.

Prefira emprestar a clonar neste caminho crítico.

Cuidado

Emprestar não é copiar: a referência aponta para o mesmo dado e não pode viver mais que o dono.

Sinônimos

empréstimo

Antônimos

move

Veja também

Todos os termos de Rust