E0384E0384 — Không Thể Gán Hai Lần Cho Biến Bất Biến
Một biến đang được gán lại nhưng không được khai báo là mutable.
Nguyên nhân gây ra lỗi này
Các biến trong Rust mặc định là bất biến. Bạn đang cố thay đổi giá trị của một biến được khai báo không có từ khóa mut.
Cách sửa
Thêm từ khóa mut vào khai báo biến: let mut x = value. Dùng shadowing (khai báo lại bằng let) nếu bạn muốn một binding mới với giá trị khác. Cân nhắc xem giá trị có nên là hằng số không.
Ví dụ
let x = 5;
x = 10;Mã lỗi liên quan
E0308E0308 — Kiểu Không Khớp
Kiểu dự kiến không khớp với kiểu thực tế được cung cấp.
E0152E0152 — lang Item Trùng Lặp
Một language item (#[lang = ...]) được định nghĩa nhiều hơn một lần.
E0520E0520 — Specialization Chưa Ổn Định
Tính năng chuyên biệt hóa implement trait yêu cầu tính năng trình biên dịch nightly.
E0728E0728 — await Trong Hàm Không Phải Async
Từ khóa .await được dùng trong hàm không được khai báo là async.
E0603E0603 — Truy Cập Phần Tử Private Ngoài Phạm Vi
Bạn đang cố truy cập một phần tử private từ bên ngoài module của nó.
E0507E0507 — Không thể move ra khỏi borrowed reference
Bạn đang cố move một giá trị ra khỏi reference, điều này sẽ khiến reference bị dangling.