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.
Nguyên nhân gây ra lỗi này
Move một giá trị ra khỏi reference sẽ làm mất hiệu lực dữ liệu gốc. Điều này thường xảy ra khi cố trả về trường từ struct đang được mượn hoặc khi pattern matching trên reference.
Cách sửa
Clone giá trị thay vì move nó. Dùng .to_owned() hoặc .clone() để tạo bản sao owned. Dùng ref trong pattern matching để mượn thay vì move. Trả về reference thay vì owned value.
Mã lỗi liên quan
E0405E0405 — Không Tìm Thấy Trait Trong Phạm Vi Này
Một tên trait được dùng nhưng chưa được định nghĩa hoặc import vào phạm vi hiện tại.
clippy::clone_on_copyClippy — Clone trên Kiểu Copy
Phương thức clone() được gọi trên một kiểu đã implement Copy.
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.
clippy::single_matchClippy — match với một nhánh có thể dùng if-let
Biểu thức match với chỉ một nhánh có nghĩa có thể rút gọn thành if let.
panic-integer-overflowPanic — Tràn Số Nguyên
Chương trình panic vì phép toán số học gây tràn số nguyên trong chế độ debug.
E0425E0425 — Không tìm thấy giá trị trong scope này
Một định danh được dùng nhưng chưa được khai báo trong scope hiện tại.