Cách tiếp cận độc đáo của ngôn ngữ lập trình Rust dẫn đến code tốt hơn với ít thỏa hiệp hơn C, C ++, Go và các ngôn ngữ khác mà bạn có thể sử dụng. Nó cũng được cập nhật thường xuyên, thường xuyên hàng tháng.

1. Tải xuống phiên bản Rust mới nhất ở đâu

Nếu bạn đã cài đặt phiên bản Rust trước đó thông qua rustup, bạn có thể truy cập phiên bản mới nhất thông qua lệnh sau:

rustup update stable

2. Các tính năng mới trong Rust 1.48.0

Ra mắt vào ngày 19 tháng 11 năm 2020, Rust 1.48.0 có tính năng liên kết dễ dàng hơn trong công cụ tài liệu thư viện Rustdoc, với cú pháp để cho Rustdoc biết khi các developer đang cố gắng liên kết đến một kiểu, URL sẽ được tạo. Cũng trong phiên bản 1.48.0:

  • Các developer có thể chỉ định # {doc (alias = “<alias>”)] trên các mục để thêm bí danh tìm kiếm khi tìm kiếm thông qua giao diện người dùng Rustdoc.
  • Từ khóa unsafe hiện được cho phép về mặt cú pháp trên các mô-đun. Mặc dù vẫn bị từ chối về mặt ngữ nghĩa, điều này hiện có thể được phân tích cú pháp bằng macro thủ tục.
  • Trong trình biên dịch, cờ trình biên dịch -C link-self-contains = <yes | no> ổn định. Điều này cho biết liệu có nên liên kết thời gian chạy C và các thư viện của riêng nó hay dựa vào trình liên kết bên ngoài để tìm chúng. Điều này chỉ được hỗ trợ trên các nền tảng windows-gnu, linux-musl và wasi.
  • Trong thư viện, các [T; N]: API TryFrom <Vec <T>> hiện đã ổn định. Các developer có thể sử dụng nó để cố gắng biến một vectơ thành một mảng có độ dài nhất định. Cũng ổn định trong bản phát hành này là năm API khác: slice :: as_ptr_range, slice :: as_mut_ptr_range, VecDeque :: make_contiguous, future :: pending và future :: ready.
  • Cũng trong thư viện, tất cả các mảng có độ dài bất kỳ hiện thực hiện TryFrom <Vec <T>>.

3. Các tính năng mới trong Rust 1.47.0

Được công bố vào ngày 8 tháng 10 năm 2020, Rust 1.47.0 không có tính năng ngôn ngữ mới nhưng nâng cao thư viện tiêu chuẩn. Chất lượng cuộc sống và cải tiến chuỗi công cụ cũng như ổn định thư viện được nêu trong bản phát hành. Ghi chú phát hành đã được xuất bản để nâng cấp.

Các khả năng cụ thể trong Rust 1.47.0 bao gồm:

  • Tính năng “const generics”, tác động đến các đặc điểm trên các mảng lớn hơn. Tính năng vẫn cần được ổn định. Rust vẫn xem các giá trị số nguyên là kiểu chung, điều này đã gây ra vấn đề với mảng. Khả năng này nhằm giải quyết vấn đề này và làm cho các mảng hữu ích hơn.
  • Bản nâng cấp lên cơ sở hạ tầng trình biên dịch LLVM 11, làm cho nó trở thành mặc định.
  • Thời gian tồn đọng ngắn hơn, giúp dễ dàng tìm ra vấn đề hơn.
  • rustc hiện hỗ trợ -C control-flow-Guard, một tùy chọn sẽ bật khả năng bảo mật Control Flow Guard trên Windows. Các nền tảng khác bỏ qua cờ này.
  • Rustdoc hiện hỗ trợ chủ đề Ayu.
  • Chín API trong thư viện chuẩn đã được ổn định: Ident :: new_raw, Range :: is_empty, RangeInclusive :: is_empty, Result :: as_deref, Result :: as_deref_mut, Vec :: leak, pointer :: offset_from, f32 :: TAU, và f64 :: TAU.

4. Các tính năng mới trong 1.46.0

Rust 1.46, được công bố vào ngày 27 tháng 8 năm 2020, bao gồm các khả năng sau:

  • Một số tính năng ngôn ngữ cốt lõi hiện có thể được sử dụng trong const fn, bao gồm if, if let, match và một số tính năng khác.
  • Thuộc tính # [track_caller], được thiết kế để cải thiện thông báo lỗi khi chức năng mở và các chức năng liên quan bị rối loạn, hiện đã ổn định.
  • Trong một thay đổi đối với thư viện, std :: mem :: forget bây giờ là một const fn. Cũng trong thư viện, hai API mới đã được ổn định: Option :: zip và vec :: Drain :: as_slice.
  • Đối với trình biên dịch, mục tiêu citylib có thể được sử dụng trên các nền tảng iOS và tvOS của Apple.
  • Việc lập chỉ mục đệ quy thành các bộ giá trị không còn yêu cầu dấu ngoặc đơn.

Các nguồn kiến thức từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!