Strings Movidas em Rust

fn main() {
    let s1: String = String::from("Rust");
    let s2: String = s1;
}
  • Os dados no heap de s1 são reutilizados para s2.
  • Quando s1 sai do escopo, nada acontece (foi movido dele).

Antes de mover para s2:

StackHeaps1ptrRustlen4capacity4

Depois de mover para s2:

PilhaHeaps1ponteiroRusttamanho4capacidade4s2ponteirotamanho4capacidade4(inacessível)