Rust 1.68 xuất hiện với các cải tiến hỗ trợ và hơn thế nữa

rỉ sét

Rust là ngôn ngữ lập trình được biên dịch hỗ trợ lập trình thuần chức năng, thủ tục, mệnh lệnh và hướng đối tượng.

Gần đây việc phát hành phiên bản mới của ngôn ngữ lập trình “Rust 1.68” đã được công bố. Đối với những người không quen thuộc với Rust, bạn nên biết rằng ngôn ngữ lập trình này được thành lập bởi dự án Mozilla, nhưng hiện được phát triển dưới sự bảo trợ của Tổ chức Rust Foundation phi lợi nhuận độc lập.

Ngôn ngữe tập trung vào bảo mật bộ nhớ và cung cấp phương tiện để đạt được tính song song công việc cao trong khi tránh sử dụng trình thu gom rác và thời gian chạy (thời gian chạy được giảm xuống để khởi tạo và bảo trì cơ bản của thư viện chuẩn).

Các phương pháp quản lý bộ nhớ của Rust cứu nhà phát triển khỏi các lỗi khi thao tác với con trỏ và bảo vệ chống lại các sự cố phát sinh do thao tác bộ nhớ ở mức độ thấp, chẳng hạn như truy cập vào một vùng bộ nhớ sau khi nó đã được giải phóng, hủy bỏ tham chiếu con trỏ null, tràn bộ nhớ, v.v. bộ đệm vv Để phân phối thư viện, cung cấp bản dựng và quản lý các phần phụ thuộc, dự án phát triển trình quản lý gói Hàng hóa.

Rust cũng cung cấp bảo vệ chống tràn số nguyên, yêu cầu bắt buộc khởi tạo các giá trị biến trước khi sử dụng, xử lý tốt hơn các lỗi trong thư viện chuẩn, thực thi khái niệm về biến và tham chiếu bất biến theo mặc định, cung cấp tính năng nhập tĩnh mạnh mẽ để giảm thiểu lỗi logic.

Các tính năng mới chính của Rust 1.68

Trong phiên bản mới này đến từ Rust 1.68, chúng ta có thể thấy rằng hỗ trợ cho giao thức thưa thớt đã được ổn định trong trình quản lý gói Hàng hóa và kho lưu trữ crates.io, xác định một cách làm việc mới với một chỉ mục phản ánh các phiên bản có sẵn của tất cả các gói hiện có trong kho lưu trữ.

Giao thức mới giúp tăng đáng kể tốc độ làm việc với crates.io và giải quyết các vấn đề về quy mô với sự gia tăng hơn nữa số lượng gói trong kho lưu trữ.

Để giảm sự chậm trễ do tải xuống một chỉ mục hoàn thành Thưa thớt, thay vì truy cập chỉ mục qua Git, chỉ tải xuống trực tiếp qua HTTPS dữ liệu chỉ mục cần thiết, bao gồm các phụ thuộc của một dự án cụ thể. Để trả về dữ liệu chỉ mục, cần có một dịch vụ mới index.crates.io.

Theo mặc định, giao thức mới được lên kế hoạch sử dụng trong nhánh Rust 1.70và trước đó, để kích hoạt nó, bạn có thể đặt biến môi trường "CARGO_REGISTRIES_CRATES_IO_PROTOCOL=thưa thớt» hoặc thêm tham số 'giao thức = thưa thớt' nộp .cargo/config.toml.

Một trong những thay đổi nổi bật làvà thêm macro » ghim! «cho phép bạn tạo cấu trúc Pin<&mut T> từ biểu thức "T" với ghim cục bộ trạng thái của nó (không giống như Box::pin, nó không phân bổ bộ nhớ trên heap, nhưng liên kết ở cấp độ ngăn xếp).

Ngoài ra, chúng ta cũng có thể thấy rằng một trình xử lý lỗi cấp phát bộ nhớ mặc định được đề xuất, được sử dụng khi sử dụng gói ánh xạ tiêu chuẩn.

Các ứng dụng chỉ kích hoạt alloc (không phải std) bây giờ sẽ gọi bộ điều khiển là "hoảng loạn!" trong trường hợp cấp phát bộ nhớ không thành công, có thể tùy chọn chặn bằng "#[panic_handler]". Các chương trình sử dụng thư viện std vẫn in thông tin lỗi ra stderr và không thành công.

Những thay đổi khác nổi bật:

  • Một phần mới của API đã được chuyển sang ổn định, bao gồm các phương pháp và triển khai đặc điểm đã được ổn định
  • Thuộc tính "const", xác định khả năng sử dụng nó trong bất kỳ ngữ cảnh nào thay vì hằng số, được sử dụng trong VecDeque::new.
  • Nền tảng Android hiện yêu cầu ít nhất NDK r25 (API 19), tức là Phiên bản Android được hỗ trợ tối thiểu đã được nâng lên 4.4 (KitKat).
  • Mức hỗ trợ thứ ba cho nền tảng Sony PlayStation Vita (armv7-sony-vita-newlibeabihf) đã được triển khai.
  • Cấp độ thứ ba liên quan đến hỗ trợ cơ bản, nhưng không có thử nghiệm tự động, xuất bản các bản dựng chính thức và xác minh khả năng biên dịch của mã.

Nếu bạn là muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết sau.

Cuối cùng, đối với những người Quan tâm đến việc nâng cấp từ phiên bản Rust trước đó được cài đặt qua Rustup, bạn có thể tải phiên bản Rust 1.68.0 mới với:

rustup update stable


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.