Đi đến nội dung
Lỗi trình biên dịch RustLỗi
E0106

E0106 — Thiếu lifetime specifier

Một reference trong chữ ký hàm hoặc struct thiếu tham số lifetime.

rustcargo

Nguyên nhân gây ra lỗi này

Rust yêu cầu annotation lifetime tường minh khi có nhiều input lifetime và compiler không thể xác định output lifetime đúng. Các trường struct là reference cũng cần annotation lifetime.

Cách sửa

Thêm tham số lifetime vào chữ ký hàm hoặc struct. Dùng 'a hoặc tên lifetime khác. Nếu hàm có một input reference, compiler thường có thể suy luận lifetime. Cân nhắc dùng owned type thay vì reference.

Ví dụ

struct Foo {
  bar: &str, // missing lifetime
}
Tài liệu chính thức

Mã lỗi liên quan