Bản phát hành ngôn ngữ lập trình Rust 1.35

diễn ra phát hành ngôn ngữ lập trình hệ thống Rỉ 1.35, được phát triển bởi dự án Mozilla. Ngôn ngữ này tập trung vào sự an toàn của bộ nhớ, cung cấp khả năng quản lý bộ nhớ tự động và cung cấp phương tiện để đạt được tính song song của tác vụ cao mà không cần sử dụng trình thu gom rác hoặc thời gian chạy.

Tính năng quản lý bộ nhớ tự động của Rust giải phóng nhà phát triển khỏi thao tác con trỏ và bảo vệ khỏi các vấn đề phát sinh từ thao tác bộ nhớ cấp thấp, chẳng hạn như truy cập bộ nhớ sau khi rảnh, hủy đăng ký con trỏ null, lỗi tràn bộ đệm, v.v. Một trình quản lý gói đang được phát triển để phân phối các thư viện, đảm bảo việc lắp ráp và quản lý các phần phụ thuộc của dự án. Cargo, cho phép bạn lấy các thư viện bạn cần cho chương trình chỉ bằng một cú nhấp chuột. Một kho lưu trữ được hỗ trợ cho các thư viện lưu trữ thùng.io.

Chính đổi mới:

  • đặc điểm FnOnce, FnMut и Fn được triển khai cho phân bổ heap các loại đóng hộp Box‹dyn FnOnce>, Box‹dyn FnMut>;
  • Thêm cơ hội truyền các bao đóng tới các con trỏ hàm không an toàn (fn không an toàn);
  • Đã triển khai khả năng gọi macro “dbg!” không có đối số để hiển thị tên tệp và số dòng trong stderr mà không kiểm tra biến, thuận tiện cho việc gỡ lỗi hoạt động của các biểu thức điều kiện;
  • Đã thêm phương thức " vào các loại dấu phẩy động f32 và f64sao chép» để sao chép một ký tự từ số này sang số khác;
  • Đã thêm phương thức "chứa“, cho phép bạn kiểm tra xem giá trị được chỉ định có nằm trong phạm vi hay không;
  • Phương pháp đã thêm Tham chiếu:Ô:map_split, cho phép bạn phản ánh và tách giá trị RefCell được mượn cho các thành phần khác nhau của dữ liệu được mượn;
  • Phương pháp đã thêm RefCell::replace_with để thay thế giá trị RefCell hiện tại và trả về kết quả giá trị cũ;
  • Phương pháp đã thêm ptr::băm để băm một con trỏ hoặc tham chiếu theo một địa chỉ thay vì giá trị địa chỉ;
  • Phương pháp đã thêm Tùy chọn::đã sao chép để sao chép nội dung của các tùy chọn Option‹&T> hoặc Option‹&mut T>
  • Một phần API mới đã được chuyển sang danh mục ổn định, bao gồm các phương pháp đã được ổn định
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::băm,
    Phạm vi::chứa,
    RangeFrom::chứa,
    RangeTo::chứa,
    RangeInclusive::chứa,
    RangeToInclusive::chứa và
    Tùy chọn::được sao chép;

  • Đã thêm kiểm tra drop_bounds cho clippy (linter), được kích hoạt khi thêm liên kết “T: Drop” vào hàm;
  • Trình biên dịch đã thêm hỗ trợ cho nền tảng đích mới
    wasm32-unknown-wasi (giao diện LÀ TÔI để sử dụng WebAssugging bên ngoài trình duyệt);

  • Bộ công cụ Rust được điều chỉnh cho phù hợp với các bản phân phối dựa trên thư viện Musl C tiêu chuẩn.

Nguồn: opennet.ru

Thêm một lời nhận xét