¿Qué tiene Rust en lugar de un recolector de basura?

Entiendo que Rust no tiene un recolector de basura y me pregunto cómo se libera la memoria cuando un enlace queda fuera de alcance.

Entonces, en este ejemplo, entiendo que Rust recupera la memoria asignada a 'a' cuando sale del alcance.

{
    let a = 4
}

El problema que tengo con esto, en primer lugar, es cómo sucede esto, y en segundo lugar, ¿no es esto una especie de recolección de basura? ¿En qué se diferencia de la recolección de basura 'típica'?

Respuestas a la pregunta(3)

Su respuesta a la pregunta