Ownership

Todos los enlaces a variables tienen un ámbito donde son válidos y se produce un error cuando se usan fuera de él:

struct Point(i32, i32);

fn main() {
    {
        let p = Point(3, 4);
        println!("x: {}", p.0);
    }
    println!("y: {}", p.1);
}

Decimos que el valor pertenece a la variable. Cada valor en Rust tiene exactamente un dueño en todo tiempo.

Al final del ámbito, la variable se elimina y los datos se liberan. Un destructor puede correr en este momento para librar recursos.

This slide should take about 5 minutes.

Los participantes que estén familiarizados con las implementaciones de recolección de elementos no utilizados sabrán que este tipo de recolector comienza con un conjunto de "raíces" para buscar toda la memoria disponible. El principio de "propietario único" de Rust es una idea similar.