devterview_$ iniciar simulação

Ownership e as regras de borrow

DifícilSêniorOwnership

Pergunta

Explique ownership em Rust e as regras que o borrow checker impõe sobre referências.

Resposta esperada

Cada valor tem exatamente um dono (a variável); quando o dono sai de escopo, o valor é liberado (não há GC). Passar o valor 'move' a posse — o original deixa de ser usável — a menos que o tipo seja `Copy` (primitivos) ou você empreste uma referência. Regras de borrow, checadas em tempo de compilação: você pode ter várias referências imutáveis (`&T`) OU exatamente uma mutável (`&mut T`), nunca as duas ao mesmo tempo; e nenhuma referência pode viver mais que o valor que aponta (lifetimes). Isso elimina, sem runtime, data races e use-after-free: se dois threads pudessem mutar o mesmo dado, o compilador recusa. O custo é a curva de aprendizado e às vezes 'lutar com o borrow checker' até internalizar o modelo.

Por que perguntam isso

Pergunta pleno de Rust. Frase-chave: 'várias imutáveis XOR uma mutável' e 'sem runtime / em tempo de compilação'.

#ownership#borrow-checker#lifetimes
publicidade

Perguntas de acompanhamento

Relacionadas