Cadenas movidas en Rust

fn main() {
    let s1: String = String::from("Rust");
    let s2: String = s1;
}
  • Los datos del heap de s1 se reutilizan en s2.
  • Cuando s1 sale del ámbito, no ocurre nada (ha sido movida).

Antes de mover a s2:

StackHeaps1ptrRustlen4capacity4

Después de mover a s2:

StackHeaps1ptrRustlen4capacity4s2ptrlen4capacity4(inaccessible)