Passando Dados Emprestados
As regras do Rust para referências podem ser melhor resumidas assim:
- O Rust permite que haja apenas uma referência mutável ou múltiplas referências não-mutáveis, mas não ambas.
- Uma referência nunca deve viver mais do que o seu proprietário.
Isso não costuma ser um problema ao passar referências a funções.
Detalhes da memória:
- A primeira regra das referências previnem as corridas de dados. O que é uma corrida de dados? Uma corrida de dados acontece quando, na leitura dos dados, temos a possibilidade de conflito com a existência de outras escritas de dados ao mesmo tempo. Isso acontece frequentemente na programação multithread.
- A segunda regra de referências evita o uso indevido de referências que se referem a dados inexistentes (chamados ponteiros pendentes em C).