ExpertiDict

Rust · Avançado · Inglês · Técnico

reborrow

/riːˈbɑːɹoʊ/substantivo / verbo

Criar uma nova referência a partir de outra, normalmente &mut *r, que empresta o valor por um tempo menor e devolve o uso original depois.

Onde usar

Acontece de forma implícita ao passar uma &mut para uma função: a variável continua utilizável depois. Explica por que r não é movido nessas chamadas.

Em código

fn inc(n: &mut i32) {
  *n += 1;
}
let mut x = 0;
let r = &mut x;
inc(r); // reborrow implícito
inc(r); // r ainda é válido
println!("{x}");

Exemplos

The compiler reborrows it automatically here.

O compilador faz o reborrow automaticamente aqui.

Write &mut *r to force a reborrow.

Escreva &mut *r para forçar um reborrow.

Cuidado

O reborrow implícito depende de o tipo esperado ser uma referência conhecida; com um parâmetro genérico T, a &mut é movida.

Antônimos

move

Veja também

Todos os termos de Rust