Ownership
Todas as associações de variáveis têm um escopo onde são válidas e é um erro usar uma variável fora de seu escopo:
struct Point(i32, i32); fn main() { { let p = Point(3, 4); println!("x: {}", p.0); } println!("y: {}", p.1); }
Dizemos que a variável owns (possui) o valor. Todo valor em Rust tem precisamente um owner (dono) em todos os momentos.
No final do escopo, a variável é descartada e os dados são liberados. Um destrutor pode ser executado aqui para liberar recursos.
This slide should take about 5 minutes.
Os alunos familiarizados com implementações de coleta de lixo saberão que um coletor de lixo começa com um conjunto de "raízes" para encontrar toda a memória acessível. O princípio do "single owner" ("único dono") do Rust é uma ideia semelhante.