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

E0308 — 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.

rustcargo

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

Hàm trả về kiểu khác với khai báo, biến được gán kiểu không tương thích, hoặc một nhánh match trả về kiểu khác. Hệ thống kiểu nghiêm ngặt của Rust yêu cầu kiểu khớp chính xác mà không có chuyển đổi ngầm định.

Cách sửa

Chuyển đổi giá trị sang kiểu mong đợi dùng `.into()`, `as`, hoặc trait `From`/`Into`. Sửa annotation kiểu trả về cho khớp với giá trị thực tế được trả. Dùng `.to_string()`, `.as_str()`, hoặc các phương thức chuyển đổi khác tùy trường hợp.

Ví dụ

fn main() {
  let x: i32 = "hello";
}
Tài liệu chính thức

Mã lỗi liên quan