E0382E0382 — Sử dụng giá trị đã bị move
Một giá trị bị sử dụng sau khi đã được move sang biến hoặc hàm khác.
E0499Một giá trị bị mượn mutably nhiều hơn một lần cùng lúc.
Borrow checker của Rust ngăn hai mutable reference tới cùng dữ liệu tồn tại đồng thời. Điều này ngăn data race và đảm bảo an toàn bộ nhớ.
Tái cấu trúc code để chỉ tồn tại một mutable borrow tại một thời điểm. Dùng block để giới hạn phạm vi của mutable borrow đầu tiên. Cân nhắc dùng Cell, RefCell, hoặc Mutex cho pattern interior mutability.
let mut s = String::new();
let r1 = &mut s;
let r2 = &mut s;E0382Một giá trị bị sử dụng sau khi đã được move sang biến hoặc hàm khác.
E0152Một language item (#[lang = ...]) được định nghĩa nhiều hơn một lần.
E0621Một tham số hàm cần annotation vòng đời tường minh để thỏa mãn borrow checker.
E0277Một kiểu có kích thước động (DST) được dùng ở vị trí yêu cầu kiểu Sized.
panic-divide-by-zeroChương trình panic do phép chia số nguyên cho không.
panic-index-out-of-boundsChương trình panic vì chỉ số vượt ngoài phạm vi hợp lệ của một collection.