انتساب یا پاس دادن مقداری که Copy نیست آن را move می‌کند و متغیر قبلی دیگر قابل استفاده نیست. به این ترتیب Rust بدون garbage collector حافظه را قطعی آزاد می‌کند و double free در زمان کامپایل رد می‌شود. برای استفاده بدون گرفتن مالکیت، از borrowing استفاده کنید.

let a = String::from("hi");
let b = a; // a is moved
// println!("{a}"); // compile error