¿Por qué todavía puedo acceder al elemento de un vector después de tomar posesión de él sin usar referencia?

fn main() {
    let number_list = vec![1, 2, 3, 4, 5];

    let n = number_list[0];
    let r = &number_list[0];

    println!("{} : {} : {} : {}", n, r, number_list[0], &number_list[0]);
}

La salida es:

1 : 1 : 1 : 1

Otra pregunta es ¿cuál es la diferencia entre la indexación vectorial con una referencia y una no referencia, excepto tomar la referencia?

Respuestas a la pregunta(1)

Su respuesta a la pregunta