Rust · Avançado · Inglês · Técnico
reborrow
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