Lỗi trình biên dịch RustLỗi
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.
rustcargo
Xem chi tiết Duyệt tất cả 80 mã lỗi Lỗi trình biên dịch Rust với nguyên nhân, cách sửa và ví dụ.
E0308Kiểu dự kiến không khớp với kiểu thực tế được cung cấp.
E0382Một giá trị bị sử dụng sau khi đã được move sang biến hoặc hàm khác.
E0502Không thể mượn mutably một giá trị trong khi immutable borrow vẫn còn hiệu lực.
E0597Một reference tồn tại lâu hơn dữ liệu mà nó trỏ tới.
E0277Một kiểu không implement trait mà code yêu cầu.
E0599Method không tồn tại trên kiểu đã cho, hoặc trait cần thiết chưa được đưa vào scope.
E0425Một định danh được dùng nhưng chưa được khai báo trong scope hiện tại.
E0433Đường dẫn module dùng trong lệnh use hoặc type path không thể được resolve.
E0106Một reference trong chữ ký hàm hoặc struct thiếu tham số lifetime.
E0015Một hàm không phải const được gọi trong ngữ cảnh biểu thức hằng số.
E0658Một tính năng chưa được stabilize trong Rust đang được dùng mà không có feature gate.
E0609Struct hoặc union không có trường với tên đã cho.
E0614Toán tử dereference (*) được dùng trên kiểu không implement Deref.
E0499Một giá trị bị mượn mutably nhiều hơn một lần cùng lúc.
E0503Không thể dùng một giá trị trong khi nó đang bị mượn mutably bởi biến khác.
E0505Một giá trị bị move trong khi vẫn đang được mượn bởi một reference.
E0507Bạn đang cố move một giá trị ra khỏi reference, điều này sẽ khiến reference bị dangling.
E0515Một hàm cố trả về reference tới giá trị được tạo bên trong hàm.
E0432Module hoặc item được tham chiếu trong lệnh use không tìm thấy.
E0412Một tên kiểu được sử dụng nhưng chưa được định nghĩa hoặc nhập vào phạm vi hiện tại.
E0423Một tên kiểu được dùng ở vị trí mong đợi một giá trị.
E0424Từ khóa self được dùng bên ngoài ngữ cảnh method hoặc associated function.
E0369Một toán tử nhị phân được dùng với các kiểu không hỗ trợ nó.
E0384Một biến đang được gán lại nhưng không được khai báo là mutable.
E0061Một hàm được gọi với số lượng đối số sai.
E0063Một struct đang được khởi tạo mà không có đầy đủ các trường bắt buộc.
E0107Một kiểu hoặc hàm generic được dùng với số lượng tham số kiểu sai.
E0117Bạn đang implement một foreign trait cho một foreign type, vi phạm quy tắc orphan.
E0119Có hai hoặc nhiều triển khai cùng một trait cho cùng một kiểu.
E0133Một hàm hoặc thao tác unsafe được dùng bên ngoài khối unsafe.
E0152Một language item (#[lang = ...]) được định nghĩa nhiều hơn một lần.
E0200Một unsafe trait phải được implement bằng khối unsafe impl.
E0252Hai lần import mang cùng một tên vào phạm vi.
E0255Một định nghĩa cục bộ xung đột với tên được import.
E0271Một associated type trong triển khai trait không khớp với kiểu mong đợi.
E0282Rust không thể suy luận kiểu của một giá trị và cần chú thích tường minh.
E0283Nhiều triển khai trait có thể áp dụng và Rust không thể xác định cái nào cần dùng.
E0310Một tham số kiểu generic không thỏa mãn ràng buộc lifetime bắt buộc.
E0317Một biểu thức if được dùng như một giá trị đang thiếu nhánh else.
E0373Một closure đang capture tham chiếu đến một biến có thể không tồn tại đủ lâu.
E0392Một tham số kiểu generic hoặc vòng đời được khai báo nhưng không được dùng trong struct hoặc enum.
E0404Một kiểu được dùng ở vị trí kỳ vọng một trait.
E0405Mộ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.
E0428Một phần tử có cùng tên được định nghĩa nhiều hơn một lần trong cùng một phạm vi.
E0463Trình biên dịch không thể tìm thấy crate được chỉ định.
E0520Tí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.
E0596Bạn đang cố mượn có thể thay đổi một giá trị không được khai báo là mutable.
E0600Một toán tử một ngôi được áp dụng cho kiểu không hỗ trợ nó.
E0601Binary crate không có điểm vào là hàm main.
E0603Bạn đang cố truy cập một phần tử private từ bên ngoài module của nó.
E0621Một tham số hàm cần annotation vòng đời tường minh để thỏa mãn borrow checker.
E0308Các nhánh match khác nhau trả về kiểu không tương thích.
E0716Một tham chiếu đang được giữ đến giá trị tạm thời bị drop ngay lập tức.
E0728Từ khóa .await được dùng trong hàm không được khai báo là async.
panic-unwrapChương trình panic vì unwrap() được gọi trên giá trị None hoặc Err.
panic-index-out-of-boundsChương trình panic vì chỉ số vượt ngoài phạm vi hợp lệ của một collection.
panic-integer-overflowChương trình panic vì phép toán số học gây tràn số nguyên trong chế độ debug.
panic-stack-overflowChương trình panic do sử dụng stack quá mức, thường do đệ quy sâu.
clippy::needless_returnTừ khóa return được dùng không cần thiết ở cuối hàm.
clippy::let_and_returnMột biến được khai báo và trả về ngay ở dòng tiếp theo.
clippy::unused_importsMột mục được import không được sử dụng ở bất kỳ đâu trong tệp.
clippy::clone_on_copyPhương thức clone() được gọi trên một kiểu đã implement Copy.
clippy::unwrap_usedPhương thức unwrap() được sử dụng, có thể gây panic tại runtime.
dead_codeMột hàm, struct, biến thể enum hoặc hằng số được định nghĩa nhưng không bao giờ được sử dụng.
unused_variablesMột biến được khai báo nhưng không bao giờ được sử dụng trong mã.
unused_mutMột biến được khai báo là mutable nhưng thực tế không bao giờ bị thay đổi.
E0046Không phải tất cả các phương thức bắt buộc của một trait đều được triển khai.
E0053Chữ ký phương thức trong khối impl không khớp với chữ ký phương thức của trait.
E0277Một kiểu không triển khai Send được dùng trong ngữ cảnh yêu cầu an toàn luồng.
E0277Một kiểu có kích thước động (DST) được dùng ở vị trí yêu cầu kiểu Sized.
E0277Một kiểu được dùng trong vòng lặp for hoặc ngữ cảnh iterator nhưng không triển khai Iterator.
E0308Closure trả về kiểu khác với kiểu được mong đợi theo ngữ cảnh.
E0562Cú pháp impl Trait được dùng ở vị trí không được phép.
E0308Hàm trả về Result với kiểu Ok hoặc Err sai.
E0277Một kiểu được dùng như callable nhưng không triển khai Fn, FnMut hoặc FnOnce.
panic-divide-by-zeroChương trình panic do phép chia số nguyên cho không.
panic-slice-index-out-of-rangeChương trình panic vì phạm vi slice vượt ngoài giới hạn.
clippy::map_unwrap_orDùng .map().unwrap_or() có thể thay bằng .map_or().
clippy::single_matchBiểu thức match với chỉ một nhánh có nghĩa có thể rút gọn thành if let.
clippy::redundant_closureMột closure chỉ gọi một hàm có thể thay bằng chính hàm đó.