E0597E0597 — Giá trị mượn sống không đủ lâu
Một reference tồn tại lâu hơn dữ liệu mà nó trỏ tới.
Nguyên nhân gây ra lỗi này
Giá trị được mượn bị drop (giải phóng bộ nhớ) trong khi vẫn còn reference trỏ tới nó. Điều này thường xảy ra khi trả về reference tới biến cục bộ hoặc khi phạm vi borrow vượt quá lifetime của dữ liệu.
Cách sửa
Chuyển dữ liệu lên scope ngoài hoặc trả về owned data thay vì reference. Dùng String thay vì &str khi trả về từ hàm. Kéo dài lifetime của giá trị được mượn cho khớp với lifetime của reference.
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.
E0200E0200 — Unsafe Trait Yêu Cầu Unsafe Impl
Một unsafe trait phải được implement bằng khối unsafe impl.
E0063E0063 — Thiếu Trường Trong Struct
Một struct đang được khởi tạo mà không có đầy đủ các trường bắt buộc.
panic-stack-overflowPanic — Tràn Stack
Chương trình panic do sử dụng stack quá mức, thường do đệ quy sâu.
E0502E0502 — Không thể mượn mutably vì đang có immutable borrow
Không thể mượn mutably một giá trị trong khi immutable borrow vẫn còn hiệu lực.
E0658E0658 — Sử dụng tính năng chưa ổn định
Một tính năng chưa được stabilize trong Rust đang được dùng mà không có feature gate.