Thuộc tính thùng là gì và tôi thêm nó vào đâu?


83

Để có cảm nhận về cách Rust hoạt động, tôi quyết định xem xét một trình soạn thảo văn bản dựa trên thiết bị đầu cuối nhỏ có tên là Iota . Tôi đã sao chép kho lưu trữ và chạy cargo buildchỉ để được thông báo:

error: *if let* syntax is experimental

help: add #![feature(if_let)] to the crate attributes to enable

Tôi phải thêm #![feature(if_let)]vào các thuộc tính thùng ở đâu?


3
Lưu ý thêm, các bản dựng mới hơn (hàng đêm) của Rust đã bật tính năng này theo mặc định, vì vậy việc cập nhật Rust cũng sẽ loại bỏ vấn đề của bạn.
Shepmaster

Câu trả lời:


84

Thuộc tính thùng là một thuộc tính ( #[...]) áp dụng cho ngữ cảnh bao quanh ( #![...]). Thuộc tính này phải được thêm vào đầu của gốc thùng của bạn , do đó ngữ cảnh là chính thùng:

#![attribute_name]
#![attribute_name(arg1, ...)]

Nếu bạn đang tạo

  • thư viện - gốc thùng sẽ là một tệp có tên lib.rs
  • một ứng dụng - gốc thùng sẽ là .rstệp chính mà bạn tạo. Trong nhiều trường hợp, điều này sẽ được gọi làmain.rs
  • kiểm tra tích hợp - gốc thùng là mỗi tệp trong tests/
  • một ví dụ - gốc thùng là mỗi tệp trong examples/

Ngôn ngữ lập trình Rust Tài liệu tham khảo Rust nói một chút về các thuộc tính nói chung. Sách Không ổn định chứa danh sách các cờ tính năng và tài liệu ngắn gọn về những gì chúng làm.

Có nhiều thuộc tính thùng khác nhau, nhưng featurethuộc tính thùng ( #![feature(feature1, feature2)]) chỉ có thể được sử dụng trong phiên bản hàng đêm của trình biên dịch. Các tính năng không ổn định không được phép sử dụng trong các phiên bản Rust ổn định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.